0
我有几个测试项目,其中一个有很多单元测试,都与做某些计算非常相关。运行全部单元测试需要很长时间。所以,我正在寻找一种方法来轻松地将测试分为每晚单元测试和所有其他单元测试。我怎样才能方便地指定哪些测试夹具和测试方法应该是每晚?换句话说,有没有办法将同一个项目中的测试拆分成单独的程序集?如何将相同项目单元测试分解为单独的程序集?
我已经想到的和到目前为止已经试过:
- 就在夜间测试手动,只有放在各自的项目中运行每晚的基础上新项目。 这意味着我想在夜间或定期运行测试夹具时随时在项目中移动文件,即不合需要。
- 想出一个构建脚本,它可以在编译时将这些测试分离为单独的项目。然后我会得到单独的程序集。这看起来太复杂了,但也许它是唯一的选择。
我很想能够使用一个类属性来指定哪些测试将在夜间运行,例如:
[TestClass, Nightly]
public class MyTestClass { }
任何想法?
'TestCategoryAttribute'看起来很有前途。这是否有办法在测试类级别上应用它,以便该类的所有测试方法都可以应用该类别? – William 2015-02-06 18:37:54
@William - 不,它被标记为“target = method”(请参阅MSDN链接)。我不知道teamcity runner允许什么,但也许可以创建自定义属性并对其进行过滤,或者仅通过测试名称/类名称进行过滤。 – 2015-02-06 18:52:37