答案 0 :(得分:4)
测试似乎适得其反 没有理由失败的事情 (自动属性,空 构造函数)...
它是......在空构造函数或自动属性中没有逻辑可供测试。
我什么时候写第一个 单元测试?
在编写第一行可测试代码之前。考虑一下您希望方法执行的行为。根据所需的行为编写测试。该测试(以及随后的所有其他测试)体现了您的程序规范。
我在哪里写第一次单元测试?
在您创建的第一个测试类中。
这可能是最好的在线资源:
测试驱动设计简介(TDD)
http://www.agiledata.org/essays/tdd.html
答案 1 :(得分:2)
您必须深入了解TDD的思维方式。如果您没有使用TDD,您通常会编写一些代码,然后编写单元测试以确保代码符合您的预期,并处理一些不同的极端情况。使用TDD,您实际上首先编写测试,通常使用您尚未编写的类和方法。
一旦你编写了测试,并且你对测试是如何使用代码的一个很好的例子感到满意,你就开始编写实际的类和方法来使测试通过。
一开始有点难,因为你不会有智能感知帮助,而且你的代码在你实际实现生产代码之前不会构建,但是通过先编写测试,你不得不考虑你的代码如何将在你写它之前使用。
答案 2 :(得分:2)
答案 3 :(得分:1)
引导TDD的一种方法是首先编写集成测试 - 也就是说,在任何单元测试之前。此集成测试旨在证明您的应用程序在端到端的意义上按预期工作。
显然,应用程序尚未编写,因此您的初始集成测试不会检查很多东西。例如,假设您正在编写一个数据运算程序,该程序应该分析平面文件并生成摘要报告。一个简单的端到端测试将调用该程序,然后确认在预期位置生成了一个文件。该测试将失败,因为您的应用尚未执行任何操作。
然后您编写应用程序的最小版本以满足简单的集成测试。例如,应用程序将运行并将摘要报告的硬编码标题写入文件。在目前的形式中,您的应用程序有时被称为行走骨架 - 这是一些有些现实功能的最薄片。
从那时起,你可以在骨架上添加肉 - 当然,在编写每一个新功能之前编写一个测试。一旦你开始这样做,“首先测试什么”问题变得更容易处理,你的许多新测试将是面向单元的(而不是面向集成的)。