C# NUnit单元测试TeamCity中的订单或独立跑步者
问题: 我可以为构建中的单元测试子组使用单独的单元测试运行程序吗?所有需要单独运行程序进程的进程都包含在单个.dll中 或者至少可以指定单元测试的顺序吗 背景: 我有一些单元测试正在测试与本机组件的集成,这些组件会使进程内存变脏,因此在生产代码中,我在使用它们之后回收我的进程。(这是针对.net的python集成,有些包不是为python引擎卸载和重新加载而设计的)。C# NUnit单元测试TeamCity中的订单或独立跑步者,c#,unit-testing,nunit,teamcity,C#,Unit Testing,Nunit,Teamcity,问题: 我可以为构建中的单元测试子组使用单独的单元测试运行程序吗?所有需要单独运行程序进程的进程都包含在单个.dll中 或者至少可以指定单元测试的顺序吗 背景: 我有一些单元测试正在测试与本机组件的集成,这些组件会使进程内存变脏,因此在生产代码中,我在使用它们之后回收我的进程。(这是针对.net的python集成,有些包不是为python引擎卸载和重新加载而设计的)。 但是,单元测试仅由应用程序域隔离,因此它们仍然处于相同的过程中,并且可以合并。您可以使用[TestCategory]NUnit属
但是,单元测试仅由应用程序域隔离,因此它们仍然处于相同的过程中,并且可以合并。您可以使用[TestCategory]NUnit属性创建不同的测试组。分组后,您只能从TeamCity服务器运行特定组。您还可以将其划分为不同的步骤 但也可以使用[OneTimeSetUp]和[OneTimeEardown]属性作为变体 有用链接:
事实证明,TeamCity支持通过单个测试运行程序流程分离测试程序集-NUnit构建步骤配置中名为“每个程序集运行流程”的选项:
此处有更多详细信息:(搜索“每个程序集运行流程”)感谢您的详细回答。我大量使用这两个选项——它们非常有用,但在这种特殊情况下却没有(因为我需要运行所有测试——不仅是选定的类别,而且初始化不是从正在测试的代码中提取出来的——这将是一个好主意;但接触遗留代码是不合理的)。不过,您为我指出了所需的方向—有一个“每个程序集运行流程”选项非常符合我的目的