如何将同一项目的单元测试拆分成单独的程序集?

How can I split same-project unit tests into separate assemblies?

我有几个测试项目,其中一个有很多个单元测试,都与做某些计算非常相关。 运行 all 单元测试需要很长时间。因此,我正在寻找一种方法来轻松地将测试拆分为 nightly 单元测试和 all other 单元测试。如何方便地指定哪些测试夹具和测试方法应该nightly?换句话说,有没有办法将同一项目中的测试拆分为单独的程序集

到目前为止我想到的和尝试过的:

我希望能够使用 class 属性来指定哪些测试将 运行 每晚进行,例如:

[TestClass, Nightly]
public class MyTestClass { }

有什么想法吗?

对于同一解决方案,您可以根据需要拥有任意数量的单元测试项目。

如果您想使用单独的项目(即您的构建系统仅设置为来自单独项目的 运行 测试)我会从新项目 sharing 进行测试旧项目 - 创建新项目并从旧项目添加文件 "link"(添加文件对话框的 "Open" 按钮上有一个小选项可以这样做)。

或者,您可以向测试添加属性(即 TestCategoryAttribute)并使您的测试 运行 更尊重这些属性。