Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NUnit单元测试TeamCity中的订单或独立跑步者_C#_Unit Testing_Nunit_Teamcity - Fatal编程技术网

C# NUnit单元测试TeamCity中的订单或独立跑步者

C# NUnit单元测试TeamCity中的订单或独立跑步者,c#,unit-testing,nunit,teamcity,C#,Unit Testing,Nunit,Teamcity,问题: 我可以为构建中的单元测试子组使用单独的单元测试运行程序吗?所有需要单独运行程序进程的进程都包含在单个.dll中 或者至少可以指定单元测试的顺序吗 背景: 我有一些单元测试正在测试与本机组件的集成,这些组件会使进程内存变脏,因此在生产代码中,我在使用它们之后回收我的进程。(这是针对.net的python集成,有些包不是为python引擎卸载和重新加载而设计的)。 但是,单元测试仅由应用程序域隔离,因此它们仍然处于相同的过程中,并且可以合并。您可以使用[TestCategory]NUnit属

问题:

我可以为构建中的单元测试子组使用单独的单元测试运行程序吗?所有需要单独运行程序进程的进程都包含在单个.dll中

或者至少可以指定单元测试的顺序吗

背景:

我有一些单元测试正在测试与本机组件的集成,这些组件会使进程内存变脏,因此在生产代码中,我在使用它们之后回收我的进程。(这是针对.net的python集成,有些包不是为python引擎卸载和重新加载而设计的)。
但是,单元测试仅由应用程序域隔离,因此它们仍然处于相同的过程中,并且可以合并。

您可以使用[TestCategory]NUnit属性创建不同的测试组。分组后,您只能从TeamCity服务器运行特定组。您还可以将其划分为不同的步骤

但也可以使用[OneTimeSetUp]和[OneTimeEardown]属性作为变体

有用链接:

  • -TestCategory属性的说明
  • -如何从nunit控制台运行测试类别
  • -如何在team city内部使用nunit控制台
  • 第二种方法:


  • 事实证明,TeamCity支持通过单个测试运行程序流程分离测试程序集-NUnit构建步骤配置中名为“每个程序集运行流程”的选项:


    此处有更多详细信息:(搜索“每个程序集运行流程”)

    感谢您的详细回答。我大量使用这两个选项——它们非常有用,但在这种特殊情况下却没有(因为我需要运行所有测试——不仅是选定的类别,而且初始化不是从正在测试的代码中提取出来的——这将是一个好主意;但接触遗留代码是不合理的)。不过,您为我指出了所需的方向—有一个“每个程序集运行流程”选项非常符合我的目的