【c# – 在TDD中创建测试数据的最佳位置在哪里?】教程文章相关的互联网学习教程文章

c# – 为什么我在测试null时收到此NullReferenceException错误?【代码】

我在以下代码行中收到错误:对象引用未设置为对象的实例.if (Session["AutoCompleteCustomersPhone"] != null)完整的代码块:if (Session["AutoCompleteCustomersPhone"] != null)earchCustomerPhone = true; else {searchCustomerPhone =bool.Parse(Session["AutoCompleteCustomersPhone"].ToString()); }为什么,在测试null时,我收到此错误?解决方法:因为sessionn对象本身为null 我认为你正在利用webservice这就是会话为空的原因...

c# – Xamarin.UITest:如何暂停测试步骤

我有一个用C#/ Xamarin编写的UITest,测试执行得太快,导致它失败.在执行下一步之前,我需要测试等待图像出现在屏幕上. 如何暂停Xamarin UITest并使其等待图像加载到屏幕上,然后再继续下一步?解决方法:根据我的经验,有几种方法可以暂停或减慢Xamarin.UITest. 最好的办法 使用WaitForElement API. 例如,我在这里等待名为“imageButton”的Button. app.WaitForElement(X =&GT x.Marked( “ImageButton的”)); 上面的示例在执行另一个步...

c# – NUnit在程序集中找不到测试

我使用MSTest继承了一个程序集,但是这些测试是在构建机器上使用nunit-console运行的(不确定它是如何工作的).所以我决定将它排序并将其更改为正确的NUnit测试,但现在nunit-console(或gui)找不到任何测试.它们使用ReSharper测试运行器运行得很好.知道可能缺少什么吗?解决方法:校验: >班级公开吗?>它是否具有公共无参数构造函数(例如,如果未指定任何其他构造函数,则为默认构造函数)>它是否在类级别具有[TestFixture]属性?>每项测试...

c# – TDD – 你测试多少?【代码】

我正在开发一个新项目,我正在使用存储库模式,我有一个从数据库中提取数据的存储库和一个使用存储库并执行所有业务逻辑的“服务”类. 类似于以下内容;public class UserRepository : IUserRepository {public IQueryable<User> GetUsers(){// do stuff} }public class UserService {public IList<User> GetUserById{var rep = new UserRepository();var users = rep.GetUsers();// do business logicreturn users.ToList();} }你会...

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# – 每个测试类的多个ClassCleanup属性【代码】

情况:我的一些集成测试类共享一种在数据库中设置场景的通用方法,因此我提供了一个抽象基类.在所有测试运行后,它还会在最后完成数据清理:public abstract class IntegrationTests {...protected static void Cleanup() { ... } }我的继承类需要调用基本方法以确保我的基本清理代码运行:[TestClass] public class FooIntegrationTests : IntegrationTests {...[ClassCleanup]public static void FooCleanup(){...Cleanup();} }问题...

c# – 如何对字符串中的位置执行命中测试

我正在使用Graphics.DrawString写出一个字符串,并且需要在给定鼠标位置的字符串中获取char索引. 看起来这应该是非常直接的,但我真的很难找到一种有效的方法. 我找到了e.Graphics.MeasureString,它返回了它设法写入的字符数,但它有一些issues. 我目前唯一的工作方法是测量a,然后是ab,然后是abc,直到我超过x位置,但这是一个可怕的解决方案……解决方法:您可以在编写时计算占用字符串中每个字符的矩形坐标.之后,您可以扫描此列表,以查...

c# – 使用Effort.EF6测试预加载方案【代码】

我们使用Effort.EF6来构建针对内存数据库的ASP.NET Web API 2服务的测试套件,并且在大多数情况下它是一种美妙的体验. 但是,由于与此问题无关的原因,我们不得不关闭EF6中的延迟加载(通过运行Configuration.LazyLoadingEnabled = false; 在db上下文的构造函数中),这意味着如果我们忘记.Include()某个关系并稍后使用它,我们就会得到NullReferenceExceptions.我们希望我们的测试可以捕获这些类型的错误. 我们的测试设置基本如下: >使用...

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# – 无法获得简单的enyim memcached测试或log4net工作【代码】

我实际上是想让protobuf-net transcoder继续运行,但在我能够做到这一点之前,我需要让enyim / memcached设置正常工作,并且由于可用的文档很少,我遇到了麻烦.这是我简单的.net测试:using Enyim.Caching; using Enyim.Caching.Memcached; ....MemcachedClient Cache = new MemcachedClient(); string key = "somekey"; string objectToCache = "someval"; Cache.Store(StoreMode.Set, key, objectToCache, DateTime.Now.AddMinutes(1...

c# – 测试策略建议 – 需要记录运行方法的验证结果并将其用于测试目的

我是测试的新手,我需要一个关于最佳测试策略(及其应用程序)的建议.这是我的问题: 我有一个程序读取文件并自动提取其结构.我想测试一下这个“智能”提取的方法.最初我可以使用一些文件来检查方法是否正在进行正确的提取.然后我想使用这些文件和(正确的)提取结果进行测试.由于提取结果已经过验证,它们应该(并且必须)用于进一步的测试. 所以,我有类似的东西:对于“这个特定的文件”,我期待“这个结果”. 问题: >获取测试的输入文件...

c# – 测试旧版代码时添加虚拟关键字【代码】

我正在为一些粗糙的遗留代码添加测试,以便有足够的信心来认真地重构它.其中一个问题是编写代码的人显然没有尝试使代码可测试(假设他们从未编写过单个单元测试!) 一个常见的问题是,目前没有接口,只有11级深度的继承链.我正在使用Rhino Mocks将被测试的类与其依赖项隔离开来,但是当我模拟一个类而不是一个接口时,如果它具有virtual关键字,我只能存根一个只读属性. 我目前的想法是,我只是将虚拟关键字添加到属性中.没有计划将任何其他...

c# – Visual Studio:如何让我的测试项目启动它所依赖的Web项目【代码】

我在VS2012中有一个WCF应用程序.我们还添加了一个用于进行单元测试的测试项目.这一切都运作良好 除此之外,我需要添加另一个用于进行系统测试的测试项目,这里的想法是Web服务将启动,测试项目将触发Http请求,作为对服务的端到端测试的一种它所处的环境. 我不确定是否实际上有一种方法可以使用内置的visual studio测试.如果我添加正常的测试类,则运行Web服务的网站无法启动,并且测试失败. 我试图运行的代码如下:[TestMethod] public ...

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的情...