我计划在我的团队中引入一套编写单元测试的标准。但是要包括什么?
这两个帖子(Unit test naming best practices 和 Best practices for file system dependencies in unit/integration tests)已经给了我一些思考的空间。
我的标准中应该涵盖的其他领域应该是如何设置测试类以及如何组织它们。例如,如果您有一个名为 OrderLineProcessor 的类,则应该有一个名为 OrderLineProcessorTest 的测试类。如果该类上有一个名为 Process() 的方法,那么应该有一个名为 ProcessTest 的测试(可能更多是为了测试不同的状态)。
还有什么要包括的吗?
贵公司有单元测试的标准吗?
编辑:我使用的是 Visual Studio Team System 2008,我在 C#.Net 中开发
最佳答案
看看Michael Feathers on what is a unit test (或者是什么让单元测试成为糟糕的单元测试)
看看“安排、行动、断言”的想法,即测试按固定顺序只做三件事的想法:
- 安排测试所需的任何输入数据和处理类
- 执行测试中的操作
- 使用一个或多个断言 测试结果。是的,它可以是多个断言,只要它们都用于测试所执行的操作。
看看Behaviour Driven Development寻找一种使测试用例与需求保持一致的方法。
此外,我对今天的标准文档的看法是,除非万不得已,否则您不应该编写它们 - 已经编写了很多可用的资源。链接到他们而不是重复他们的内容。为想要了解更多信息的开发者提供阅读列表。
关于c# - 单元测试的编写标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/507000/