测试分类

Emm*_*ace 0 testing nunit unit-testing categorization

我想知道关于使用属性(如NUnit的Category属性)对测试进行分类的"最佳实践"是什么?

您是按应用程序的功能范围,按类别(单元测试,端到端测试,烟雾测试,集成测试等),按技术类别(长时间运行,Web请求等)或每种类型的混合对它们进行分类?

总而言之,我不想在几个月内对数千个测试进行重新分类,那么最佳策略是什么?

提前感谢您的回答!

Cha*_*lie 5

反问题:你为什么要立即对成千上万的测试进行分类?你希望完成什么?如果你不知道,根本不需要这样做.:-)

我的答案是类别真的是供开发人员使用,因为他们可以在需要时轻松地在代码中更改它们.例如,有时候标记所有慢速运行的测试很方便,因此可以将它们排除在运行之外.您可以标记所有快速运行的测试,但希望有更多的测试.同样,如果需要在数据库不可用时运行测试,请在需要它的那些测试上使用类别,除非它们已按命名空间分组.

使用命名空间分组来实现更永久的测试组织.类别的强大之处在于它们跨越了命名空间和夹具组织.如果你需要这种横切,但不要建立一个严格的类别系统,请谨慎使用它们.