如何在NUnit 3中将整个程序集标记为不可并行化?

时间:2019-03-06 07:00:59

标签: c# parallel-processing nunit

我们有一个完整的程序集,我们希望在NUnit中将其标记为不可并行化。

我发现有一个[NonParallelizable]可以根据the documentation设置为程序集级别。但是我应该放在哪里?

有人举榜吗?

2 个答案:

答案 0 :(得分:1)

要将属性应用于程序集,应使用assembly:指定其目标(MSDN link)-因此,您应该具有:

[assembly: NonParallelizable]

该属性可以放在程序集中的任何文件中,只要它不在名称空间中即可,但是通常AssemblyInfo.cs文件用于程序集属性。

无论出于何种原因,您链接到的NUnit文档都没有提供任何示例属性用法,但是source for NonParallelizableAttribute.cs显示有一个无参数构造函数(我在上面使用过)。

答案 1 :(得分:0)

如果程序集中没有[Parallelizable]属性,则该程序集是不可并行的。在这种情况下,在程序集级别添加[NonParallelizable]属性仅作为文档。

程序集级别的

[NonParallelizable] 不会覆盖您可能在程序集中具有的所有较低级别的[Parallelizable]属性。相反,较低级别的属性会覆盖较高级别的属性。