【调试单元测试时,Visual Studio c#不应启动IIS网站】教程文章相关的互联网学习教程文章

c# – 包装静态类/方法以进行单元测试吗?【代码】

我有一个我用于记录的静态类:public static class myLogger {public static ErrorLogging(string input){//dostuff} }我使用它的方式是:public class myClassthatDoesStuff {...myLogger.ErrorLogging("some error ocurred");... }如何对myLogger类进行moq以便能够对其进行单元测试并确保执行ErrorLogging方法?是否可以在构造函数中没有设置任何参数(构造函数注入)的情况下执行此操作? myClassthatDoesStuff要求构造函数中没有...

c# – 如何使用反射对Dispose()进行单元测试?【代码】

我想为实现IDisposable的类编写单元测试.该类有许多私有字段,也实现IDisposable.在我的测试中,我想验证当我调用Dispose()时,它正确地在所有IDisposable字段上调用Dispose().基本上,我希望我的单元测试看起来像这样:var o = new ObjectUnderTest(); o.Dispose(); Assert.IsFalse(ObjectHasUndisposedDisposables(o));我正在考虑使用反射来实现这一目标.看起来这是一个相当普遍的要求,但我找不到它的任何例子. 有人试过吗? 编辑 –...

c# – 使用NUnit使用异步/等待方法进行单元测试【代码】

我们最近更新了Framework 4.5.2的整个解决方案,并使用async / await.我已经为数据服务层和业务服务层的一部分编写了几个测试,但我现在有一个新的测试失败,NUnits“并非所有预期的调用都被执行”.我们使用的是NUnit V3.0.1和NMock 2.0.0. 这是测试中的方法:public async Task<objQuote> RetrieveQuoteAsync(int quoteid){var q = await _data.RetrieveQuoteAsync(quoteid);if (q != null){q.Milestones = await _data.RetrieveAllM...

c# – 如何(我应该)模拟DocumentClb进行DocumentDb单元测试?【代码】

从新的CosmosDb模拟器我得到了一个存储库来执行基本的documentdb操作,这个存储库被注入其他类.我想对基本查询进行单元测试.public class DocumentDBRepository<T> where T : class {//Details ommited...public IQueryable<T> GetQueryable(){return _client.CreateDocumentQuery<T>(UriFactory.CreateDocumentCollectionUri(_databaseId, _collectionId),new FeedOptions { MaxItemCount = -1, EnableCrossPartitionQuery = true ...

c# – 如果一次运行一个单元测试则传递正常,如果运行“解决方案中的所有测试”,则为FileLoadException【代码】

我正在尝试对我的一些类进行单元测试并遇到一个问题,即单独运行测试可以100%正常运行,但是如果我批量运行它们/使用“所有测试解决方案”选项每一个测试一个我的文件失败并显示错误:System.IO.FileLoadException was unhandled by user codeMessage=Could not load file or assembly 'Microsoft.Practices.Prism, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's ma...

c# – 如何编写Visual Studio插件的单元测试?【代码】

我想编写单元测试的一些插件的方法接受Visual Studio直接传递的COM对象.例如:public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) {DTE2 d = (DTE2)application;... }因为这些对象不可序列化,所以我不能让单元测试代码从磁盘读取它们. 除了创建实现相同的COM相关接口并且具有返回无意义/可疑数据的属性的自定义类的实例之外,有没有办法在不实际启动Visual Studio的情...

c# – 单元测试依赖于UserManager的控制器的最佳实践?【代码】

我有一个带有以下签名的控制器:[Route("api/[controller]")] [ApiController] public class UsersController : ControllerBase {private ILogger<UsersController> _logger;private readonly UserManager<IdentityUser> _usermanager;public UsersController(ILogger<UsersController> logger, UserManager<IdentityUser> usermanager){_usermanager = usermanager;_logger = logger;}[HttpGet("{_uniqueid}")]public async Task<...

c# – 如何在单元测试中删除过时的DeploymentItem?【代码】

考虑以下测试类:[TestClass] public class ExampleTests {[TestMethod]public void FileDoesNotExists(){Assert.IsFalse(System.IO.File.Exists("testfile.txt"));}[TestMethod][DeploymentItem("testfile.txt")]public void FileExists(){Assert.IsTrue(System.IO.File.Exists("testfile.txt"));}}根据这些测试运行的顺序,它们可能会通过,但由于无法保证它们按照定义的顺序运行,因此现实世界的行为是不确定的……显然这很糟糕. 我...

c# – 存在中间地带吗? (单元测试与集成测试)【代码】

考虑存储库模式(或类似)的实现.我会尽量保持示例/插图的简洁:interface IRepository<T> {void Add(T entity); }public class Repository<T> : IRepository<T> {public void Add(T entity){// Some logic to add the entity to the repository here.} }在这个特定的实现中,Repository由一个接口IRepository定义,有一个方法将一个实体添加到存储库,从而使Repository依赖于泛型类型T(同样,Repository必须隐式依赖于另一个类型TDataAc...

c# – 为什么MSDTC在使用mstest进行单元测试时表现不一致?【代码】

我在测试我的Nhibernate存储库时遇到了一个奇怪的问题. 我有10个单元测试,如下所示.每次在批处理中运行它们时,第一次失败,其余成功.如果一个接一个地运行它们都会失败.如果在我的testrun之前重新启动MSDTC,它有时会像以前一样运行,有时候所有测试都会成功.我找不到一个模式,为什么它表现得那样. 我希望事务回滚,以便为每个测试启动一个干净的DB,从而处理事务. 由于此错误,测试/测试失败:System.Data.SqlClient.SqlException: MSDT...

c# – 在单元测试中检测垃圾【代码】

我想检测我的代码是否生成垃圾.所以我创建了以下单元测试.[TestClass] public class AllocationTest {int[] generationCollections = new int[3];[TestMethod]public void TestGarbageGeneration(){generationCollections[0] = GC.CollectionCount(0);generationCollections[1] = GC.CollectionCount(1);generationCollections[2] = GC.CollectionCount(2);// Test for garbage herefor (int generation = 0; generation < generat...

c# – 使用DeploymentItem属性无法使用AutoMapper进行单元测试 – PlatformNotSupportedException【代码】

我正在尝试将AutoMapper与使用DeploymentItem属性的单元测试一起使用,以便在运行时读取文件. 这是我的代码:[TestClass]public class UnitTest1{[TestMethod][DeploymentItem("Samples/demo.csv")]public void TestMethod1(){Mapper.CreateMap<A, B>();// test logic}}class A{public string PropA { get; set; }public bool PropB { get; set; }}class B{public string PropA { get; set; }public bool PropB { get; set; }}我在这...

c# – 请求静态内容时,Nancy单元测试不起作用【代码】

我有一个基于Nancy的Web项目和一个使用MSTest引用Web项目的单元测试项目. 我已将robots.txt文件添加到Web项目的Content文件夹中.我使用nancyConventions.StaticContentsConventions.AddFile(“/ robots.txt”,“/ Content /robots.txt”)为它添加了静态内容路径;在Bootstrapper中的ConfigureConventions方法中. 单元测试如下所示:[TestMethod] public void Get_Robotstxt_Should_Return_Status_OK() {// Givenvar browser = new B...

c# – 如何使用Moq模拟SoapException以进行单元测试错误处理【代码】

我继承了一个调用SOAP Web服务的小型控制台应用程序.这是一个嵌套的try-catches的悲剧性混乱,它以各种方式记录异常,并且我想围绕抛出SoapException时它的行为方式进行一些测试. 问题:当我无法模拟接口并且无法使属性或方法“虚拟”时,如何使用Moq模拟像SoapException这样的类? 再解释一下: 要测试此错误处理,我需要控制SoapException对象的Actor属性,以及Detail属性以验证错误处理. 我的单元测试代码的片段:[TestMethod] publi...

c# – 单元测试WCF服务

我正在设计一个企业级Web应用程序,它将具有数据层SQL数据库,与数据层通信的WCF REST Web服务层,然后是将与WCF REST Web服务通信的MVC网站.我希望在设计的每个级别都进行自动单元测试. 我已经创建了一个数据层单元测试项目,它可以测试EF模型,存储库,操作等,并且有大约15个测试我可以单击按钮并运行到目前为止,测试数据层提供的所有功能. 我希望在WCF服务层有相同的但我无法弄清楚如何让一个自动测试项目针对WCF服务运行.我看过有关使...

单元测试 - 相关标签