草庐IT

unit-testing

全部标签

c# - 在 Visual Studio Code 中编写单元测试

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我刚开始使用VisualStudioCode代替visualstudio,我对如何设置我的程序以包含单元测试感到有点迷茫。我创建了一个C#控制台应用程序,我想创建一个测试文件,我可以在其中测试控制台应用程序的主程序。我正在阅读所有这些扩展文档,但没有得到我所期望的。我创建了一个测试扩展程序,并将其添加到我的主应用程序文件夹中。关于如何以与在VisualStudio中完成的相同/类似方式集成单元测试的任何有

c# - ASP.NET Core Controller 中的模拟 HttpRequest

我正在ASP.NETCore中构建WebAPI,我想对Controller进行单元测试。我注入(inject)了一个数据访问接口(interface),我可以很容易地模拟它。但是controller要检查Request中的header是否有token,我自己简单实例化controller时那个Request好像不存在,而且也是get-only,所以我连手动设置都做不到。我找到了很多模拟ApiController的示例,但这不是.NET核心。还有许多关于如何对.net核心Controller进行单元测试的教程和示例,但实际上没有一个使用HttpRequest。我构建了一个MCVE来演示这

c# - 在构建服务器 : Release or Debug code? 上进行单元测试

在.NET(C#)中,使用调试/发布构建进行单元测试有什么优点/缺点吗?您通常使用哪种目标配置在构建服务器上进行单元测试?重要吗?关于代码覆盖率(对于这个,我猜需要调试版本)。 最佳答案 我建议运行发布代码。出于几个原因。1)这是客户将要使用的代码。2)某些代码具有特殊的调试条件,这会在调试版本和发布版本之间产生差异。 关于c#-在构建服务器:ReleaseorDebugcode?上进行单元测试,我们在StackOverflow上找到一个类似的问题: http

c# - 在单元测试中验证方法是否被调用

我有一个单元测试,我正在检查一个方法是否被调用一次,所以我尝试了这种方式:-这是我的ILicenseManagerService模拟,我正在通过构造函数传递它的对象。publicMockLicenseManagerService{get{returnSetLicenseManagerServiceMock();}}privateMockSetLicenseManagerServiceMock(){varlicencemangerservicemock=newMock();licencemangerservicemock.Setup(m=>m.LoadProductLicenses())

c# - 值不能为空。参数名称 : request

我正在使用nunit创建单元测试,所有这些代码在运行时都运行良好。我在下面有这个protectedHttpResponseMessage代码,当它返回时我的Controller正在调用它。但是,报错:"Valuecannotbenull.Parametername:request"isdisplaying.当我检查请求时,它实际上是null。问题:我将如何编写单元测试代码以返回HttpResponseMessage?错误显示在这一行:protectedHttpResponseMessageCreated(Tresult)=>Request.CreateResponse(HttpStat

c# - 有人可以解释测试驱动开发中的 "Fake it till you make it"方法吗?

当您采用“假装直到成功”TDD方法时,我很难理解代码的演变。好吧,你伪造了它,假设你返回了一个常量,所以失败的测试在开始时是绿色的。然后你重构了你的代码。然后你运行同样的测试,它显然会通过,因为你伪造了它!但是如果测试通过了,你怎么能相信它,尤其是当你知道你是伪造的时候?应该如何用您的真实代码重构来重构伪造的测试,以便它仍然可靠?谢谢 最佳答案 简短的回答是:编写更多测试。如果该方法返回一个常量(当它应该计算某些东西时),只需添加一个具有不同结果的条件测试。因此,假设您有以下内容:@TestpublicvoidtestLength(

c# - 内存库模式和单元测试

我已经看到了存储库模式的一些实现,非常简单直观,链接来自stackoverflow中的其他答案http://www.codeproject.com/Tips/309753/Repository-Pattern-with-Entity-Framework-4-1-and-Chttp://www.remondo.net/repository-pattern-example-csharp/publicinterfaceIRepository{voidInsert(Tentity);voidDelete(Tentity);IQueryableSearchFor(Expression>predi

c# - 集成测试数据库,我做对了吗?

我想在我的MVC4应用程序中测试依赖并使用数据库的方法。我不想使用模拟方法/对象,因为查询可能很复杂并且为此创建测试对象太费力了。我发现集成测试的想法是将测试的数据库操作逻辑包装在TransactionScope对象中,完成后回滚更改。不幸的是,这最初并不是从一个空数据库开始的,它也会使主键依赖(即,当数据库中已经有一些主键为1和2的项目时,然后在我运行测试之后算上4),我不想要这个。这是我想出的“集成测试”,只是为了测试是否实际添加了产品(例如,一旦我拥有正确的基础架构,我想创建更困难的测试来检查方法)。[TestMethod]publicvoidProductTest(){//Ar

c# - 如何对在 MVVM 中调用异步方法的 DelegateCommand 进行单元测试

我是单元测试MVVM的新手,在我的项目中使用PRISM。我正在对我们当前的项目实现单元测试,但没有幸运地在线找到可以告诉我如何测试调用异步方法的DelegateCommand的资源。这是我的帖子的后续问题-HowtoUnitTestaViewModelwithasyncmethod.关于如何在MVVM中对异步方法进行单元测试,并回答说公共(public)方法可以使用异步TestMethod进行测试。仅当我要测试的方法是公共(public)方法时,此方案才有效。问题是我想测试我的DelegateCommand,因为这是我想在其他类上公开的唯一公开细节,其他所有内容都是私有(private

c# - 无法使用 Fakes 程序集构建项目

我已将Fakes程序集添加到我的VisualStudio2012单元测试项目,对应于我的应用程序项目(被测系统),如PeterProvost'sarticle中所述.但是,由于生成的Fakes代码中存在未解析的类型引用,该项目将不再构建:Thetypeornamespacename'FieldDefinition'doesnotexistinthenamespace'bc::ProductStudio'(areyoumissinganassemblyreference?)[C:\Users\arvek\Projects\Project\Project.Tests\obj\Debug\F