对于单元测试本身,有一些额外的原则可以帮助成功进行测试:
-
避免测试产生依赖性,这样测试需要按照特定的顺序执行。每个测试都应该是独立的。
-
使用测试初始化代码验证测试清除已经成功执行,如果没有则在执行测试前重新执行清除。
-
在编写任何产品代码的实现前编写测试。
-
对于产品代码中的每个类创建一个测试类。这样可以简化测试的组织,并可以容易地选择在何处放置每个测试。
-
使用 Visual Studio 生成初始化的测试项目。这样可以大大减少手工设置测试项目并与产品项目关联的步骤。
-
避免创建其他依赖计算机的测试,例如依赖特定的目录路径的测试。
-
创建模拟对象 (mock object) 来测试接口。模拟对象通常在需要验证 API 符合所需功能的测试项目中实现。
-
在继续创建新的测试前验证所有测试运行成功。这样可以保证在破坏代码后立刻进行修正。
-
可以最大化无需人工参与执行的测试代码。在依赖于手工测试前,必须完全肯定无法采用合理的无需人工参与执行的测试方案。