【c# – 加速ASP MVC单元测试】教程文章相关的互联网学习教程文章

c# – 如何使用Moq框架对天蓝色服务结构进行单元测试?【代码】

我计划使用Moq对我的Azure服务结构应用程序进行单元测试.我在这里看到了一些例子https://github.com/Azure-Samples/service-fabric-dotnet-web-reference-app/blob/master/ReferenceApp/Inventory.UnitTests/InventoryServiceTests.cs.我看到的测试似乎实际上写的是可靠的字典而不是嘲笑.有没有办法模拟可靠字典中的添加/删除?我如何对下面的内容进行单元测试public async Task<bool> AddItem(MyItem item) {var items = await St...

c# – 如何在单元测试中测试两个对象的相等性?【代码】

我有一个项目,我在其中接收对象作为DTO,我正在将它们转换为View-Models.为了进行这种转换,我决定制作自定义转换器,进行一些计算,以便从DTO属性转换为View-Models.在所有这些准备好之后,转换工作正常,我想在转换中添加一些单元测试以使其更稳定(我知道这不尊重TDD,但这是我设法做的). 当我想要测试来验证两个View-Models的相等性时,就会出现问题Assert.AreEqual(expected, actual);因为View-Models都没有定义Equals方法,所以它们永远...

c# – 如何对使用DbContext和NSubstitute的存储库进行单元测试?【代码】

我有一个解决方案,其中我有一个数据项目,其中包含从现有数据库生成的EF6 .edmx文件.我将实体拆分为一个单独的实体项目,并有一个引用它们的存储库项目. 我添加了一个带有一些常用方法的BaseRepository,并希望对它进行单元测试.班级的顶端看起来像这样……public class BaseRepository<T> : BaseRepositoryInterface<T> where T : class {private readonly MyEntities _ctx;private readonly DbSet<T> _dbSet;public BaseRepository(...

c# – 单元测试中模拟是否需要接口?【代码】

我已经读过你需要定义接口以模拟类型,但我不知道如何解释它.例如,要模拟FileSystem,我可以将对象传递给方法,然后在从我的测试调用时模拟它,而不是直接调用某些I / O方法.为什么单元测试示例(如下面的SO问题),使用接口?void DoIt(IZipper zipper, IFileSystem fileSystem, IDllRunner runner) {string path = zipper.Unzip(theZipFile);IFakeFile file = fileSystem.Open(path);runner.Run(file); }难道我不能简单地使用相应类型的...

c# – 如何使用MoQ和NUnit在WebAPI 2中为ExceptionHandler编写单元测试【代码】

我有一个WebAPI,它使用自定义ExceptionHandler来处理所有异常.如何对此CustomExceptionHandler进行单元测试.任何领导都会有所帮助public class CustomExceptionHandler : ExceptionHandler {public override void Handle(ExceptionHandlerContext context){try{context.Result = new ResponseMessageResult(context.Request.CreateResponse(HttpStatusCode.InternalServerError, context.Exception));}catch (Exception){base.Hand...

c# – 加速ASP MVC单元测试

人们如何为ASP MVC运行自动化测试? 目前我们正在使用本机Visual Studio单元测试并在一台机器上线性运行它们.它们目前太慢而无法使用. 切换到nunit?使用Incredibuild XGE分发单元测试?有没有尝试过这些或有其他想法? 谢谢.解决方法:MSTest的问题不在于运行速度本身,而在于测试环境本身.您可以使用Resharper运行MSTest测试,它们非常快速.我的测试是针对存储库接口运行的,我在调用控制器时模拟了内存存储库. 也就是说,你的控制器测...

c# – 在AppVeyor测试窗口(和徽章)中未显示的.NET核心单元测试

从这个问题开始,我正在为我的项目(here)设置AppVeyor,我的.NET Core测试只显示在控制台输出中,但不显示在Tests窗口中. 这是AppVeyor项目的链接:ci.appveyor.com/project/Sergio0694/neuralnetwork-net 如果某些测试失败,控制台会正确显示错误,并且构建被标记为失败,但测试窗口仍为空.来自shields.io的徽章也是如此,它显示了0次总测试,即使我可以看到其中许多是从控制台输出执行的. 这是控制台输出: 这是测试窗口: 我还需要设置其...

c# – 单元测试:克隆和平等【代码】

我正在编写单元测试并考虑实现IClonable的类型的场景.所以当然我想要一个单元测试来测试Clone()方法.[Test] public void CloneObject() {MyType original = new MyType();MyType clone = (MyType)original.Clone();// Assert for equality }所以我的第一个任务是拥有一个断言的平等.我看到以下选项: >浏览MyType的所有属性(字段)并逐个检查它们>在MyType中重写Equals(),让MyType说两个实例是否相等(考虑到有时测试的相等性被视为生...

调试单元测试时,Visual Studio c#不应启动IIS网站

我有一个VS(2013)解决方案,包含两个unittest项目和一个单独的webproject. webproject与unittest项目无关. unittest项目涉及另一个解决方案的集成测试,webproject是一个显示这些测试结果的仪表板.当测试结果存储在外部服务器上时,它们不需要彼此运行. 我的问题是:当我调试我的一个测试(右键单击调试测试)时,webproject也会启动并且IIS express将运行.虽然这不会影响我的测试,但它非常烦人.在调试测试时,如何确保webproject不会自动...

c# – 在单元测试中模拟Automapper是一个好习惯吗?【代码】

有这个代码库,我们使用automapper并有2层,域和服务.每个都有其数据表示对象,DomainItem和ServiceItem.服务从域获取数据,使用构造函数注入的automapper实例进行映射class Service {public ServiceItem Get(int id){var domainItem = this.domain.Get(id);return this.mapper.Map<DomainItem, ServiceItem>(domainItem);} }假设最佳实践,因此mapper没有副作用,也没有外部依赖.您将编写一个静态函数,在几秒钟内将一个对象转换为另一个...

C#之单元测试【图】

很多核心代码,不能等到程序运行的时候,才能知道是否可以运行,很多时候单单凭借肉眼,无法真正确认代码没有问题。 这个时候,我们就可以用单元测试发挥作用了。 函数需要是public,才行,所以我把private函数都修改为public的。 直接右键函数: 会自动生成一个一个函数: 再右键调试测试: 打上断点就可以调试了。

单元测试中的Linq-SQL查询逻辑【代码】

我正在尝试为我的代码编写一些单元测试.在out项目中,我们使用从DBML创建的Linq-SQL对象.我试图弄清楚我将如何测试以下逻辑. 例如,我需要使用LINQ从表中获取记录数.var objectCount = (from x in DB.MyRecordswhere x.DateAdded.Date == DateTime.Now.Dateselect x).Count(); //For example this will return 4if(objectCount > 3) {//Do some logic here } else {//Do some logic here }现在,我的理解是,如果您访问数据库,则单元测...

c# – 在单元测试中进行模拟时,数据库/实体框架与内存列表之间的差异

我最近一直在用模拟进行大量的单元测试.让我觉得有点问题的一件事是查询内存列表(通过模拟我的存储库)和通过实体框架直接查询数据库之间的区别. 其中一些情况可能是: >测试过滤器参数,该参数对数据库不区分大小写,但区分大小写对内存集合导致错误的失败.> Linq语句可能会针对内存集合传递,但会对实体框架失败,因为它们不受支持导致错误传递. 处理或解决这些差异的正确方法是什么,以便在测试中没有错误传递或失败?我非常喜欢嘲笑,...

c# – 使用SQL查询在单元测试中模拟IDocumentQuery【代码】

我正在使用单元测试来测试DocumentDBRepository类.我以this post作为SQL查询用例的示例.但它显示错误Message: System.InvalidCastException : Unable to cast object of type‘System.Linq.EnumerableQueryto type‘Microsoft.Azure.Documents.Linq.IDocumentQuery这是我的DocumentDBRepository类的代码private IDocumentQuery<T> GetQueryBySQL(string queryStr) {var uri = UriFactory.CreateDocumentCollectionUri(_databaseId,...

c# – 在内存中模拟LinqToSql存储库以用于单元测试

我正在研究制作一个可以在单元测试中使用的可模拟DataContext.一种方法被描述为here.但是,这种方法的问题是对存储库的更改会立即生效 – 在调用Commit(或任何其他等效于SubmitChanges)之前. 另一方面,包含正确的SubmitChanges行为将涉及从DataContext复制许多复杂的代码,并可能导致更多错误. 模拟内存存储库(不等待SubmitChanges)的天真实现是否可用于单元测试?这通常是怎么做的?解决方法:被测试的类/组件是什么?如果您没有直接...

单元测试 - 相关标签