草庐IT

c# - TDD 与 Xml 数据源问题

我在这样一种情况下运行:我的一个带有Xml数据源的TDD工作正常,但另一个抛出错误“单元测试适配器无法连接到数据源或读取数据”、“错误详细信息:对象引用不正确”设置为一个对象的实例。”配置中的EmployeeModule工作正常,但CategoryModule抛出上述错误,如果我们像这样在Arribute级别上定义,CategoryModule工作正常DataSource"Microsoft.VisualStudio.TestTools.DataSource.XML","|DataDirectory|\\Category.xml","CategoryName",DataAccessMe

ruby-on-rails - 测试 Nokogiri XML 的属性

使用RSpec我可以/应该如何测试以确保元素存在并具有指定的值在我的示例中,我希望确保我有一个值为1.0的EnvelopeVersion,我还希望看到一个测试来确保EnvelopeVersion存在defself.xml_headerbuilder=Nokogiri::XML::Builder.newdo|xml|xml.Root{xml.EnvelopeVersion"1.0"}endbuilder.to_xmlend我已经试过了,但是它失败了undefinedmethod`has_node?'为了#it'shouldcreatevalidheader'dodoc=GEM::xml_

windows - 在 Windows 上的 Node.js 中运行 Expresso TDD

有没有人能让这个工作?环境:Windows764位node.jsv0.6.7npm1.1.0-beta-10espresso0.9.2我已经通过npm从zip下载成功安装(在修改package.json以删除node-jscoverage依赖性之后)。'npmls'列出已安装的expresso。克服描述的问题后here通过注释掉对SIGINT的引用,expresso将从cmd窗口执行。但是,当我实际尝试运行测试套件时,当它尝试打开第一个测试套件时出现“找不到模块”错误。任何帮助将不胜感激。 最佳答案 您还必须在本地安装该模块。

c# - 如何在具有多个间接级别的项目中使用单元测试

我正在查看一个非常强调单元测试的现代项目。根据古老的格言“面向对象编程中的每个问题都可以通过引入新的间接层来解决”,该项目采用了多层间接。副作用是相当多的代码如下所示:publicboolIsOverdraft){balanceProvider.IsOverdraft();}现在,由于强调单元测试和保持高代码覆盖率,每段代码都有针对它编写的单元测试。因此这个小方法将有三个单元测试。那些会检查:如果balanceProvider.IsOverdraft()返回true那么IsOverdraft应该返回true如果balanceProvider.IsOverdraft()返回false,那

c# - 文件 IO 的单元测试方法

我正在努力养成编写单元测试的习惯,我以前写过一些,但它们通常都很基础......我想开始转向TDD,因为我想提高我的代码(设计和结构)的质量-减少耦合,同时希望减少滑入可测试构建的回归数量。我从一个相对简单的项目开始。生成的程序监视一个文件夹,然后对该文件夹中的文件进行操作。下面是从项目中提取的一些代码的典型示例:privatestringRestoreExtension(Stringfile){varunknownFile=Path.GetFileName(file);varignoreDir=Path.GetDirectoryName(file)+"\\Unknown";strin

c# - TDD 是否意味着不考虑类设计?

我正在制作一款有趣的角色扮演游戏,并尝试在开发过程中使用TDD。我看到的许多TDD示例都侧重于首先创建测试,然后创建使测试通过所需的对象。例如:[Test]publicvoidCharacter_WhenHealthIsBelowZero_IsDead(){//createdefaultcharacterwith10healthCharactercharacter=newCharacter();character.SubtractHealth(20);Assert.That(character.IsAlive,Is.EqualTo(false));}因此,在此基础上,我将创建角色类和适

c# - 在 C# 中对同一结果进行多个断言的最佳实践

您认为对结果进行多重断言的最简洁方法是什么?过去我对它们进行了相同的测试,但这开始感觉有点脏,我一直在玩另一个使用设置的想法。[TestFixture]publicclassGridControllerTests{protectedreadonlystringRequestedViewId="A1";protectedGridViewModelResult{get;set;}[TestFixtureSetUp]publicvoidGet_UsingStaticSettings_Assign(){vardataRepository=newXmlRepository("test.xml")

c# - MVC4 TDD - System.ArgumentNullException : Value cannot be null.

我是mvc4和TDD的新手。当我尝试运行这个测试时它失败了,我不知道为什么。我已经尝试了很多东西,我开始原地踏步。//GETapi/User/5[HttpGet]publicHttpResponseMessageGetUserById(intid){varuser=db.Users.Find(id);if(user==null){//returnRequest.CreateResponse(HttpStatusCode.NotFound);thrownewHttpResponseException(Request.CreateResponse(HttpStatusCode.NotFou

c# - 使用 Moq 和 TDD,从哪里开始?

我有一个服务器应用程序,我想知道如果我想开始实现TDD和使用Moq,我应该从哪里开始。关于这个主题,我可以阅读哪些不太“面向网络”的好书?我对此事有疑问,例如:我应该模拟我想要测试的每个对象,还是只模拟那些我无法实现的对象,比如文本编写器?我的服务器需要大量设置才能真正执行我想测试的任何事情,我是否应该将其塞入[TestInitialize]函数?如果我想测试更深层次的功能,我应该如何链接我的测试? 最佳答案 您无需模拟要测试的对象。如果你这样做,你就是在测试模拟,而不是你的对象!您需要模拟正在测试的对象的依赖性。

c# - 使用 Mocks 验证依赖调用时的 TDD Arrange Act Assert 模式

我正在使用Moq来测试一些void方法的行为。使用MockBehaviour.Strict必须在Arrange步骤期间指定对模拟的每次调用。这导致许多测试没有任何Assert(或Verify)步骤。通过条件只是测试运行没有抛出异常。我错过了什么吗?Arrange,Act,Assert模式在使用严格模拟时是否不合适?是否有更语义化的方式来安排这些测试?一个简单的虚构例子......[TestClass]publicvoidDeleteUser_ShouldCallDeleteOnRepository(){//ArrangevaruserRepository=newMock(MockBeh