如何在 NUnit 3 中将整个程序集标记为不可并行化?
How to mark a whole assembly as non parallelizable in NUnit 3?
我们有一个完整的程序集,我们想在 NUnit 中将其标记为不可并行化。
我发现有一个 [NonParallelizable]
可以根据 the documentation 设置为汇编级别。但是我应该把它放在哪里呢?
有人举个例子吗?
要将属性应用于程序集,您应该指定其目标 (MSDN link) - 通过使用 assembly:
- 因此您应该:
[assembly: NonParallelizable]
此属性可以放在程序集中的任何文件中,只要它不在命名空间内即可,但通常 AssemblyInfo.cs
文件用于程序集属性。
无论出于何种原因,您链接到的 NUnit 文档未提供任何示例属性用法,但 source for NonParallelizableAttribute.cs
显示有一个无参数构造函数(我在上面使用过)。
如果程序集中没有 [Parallelizable]
属性,则程序集不可并行化。在这种情况下,在程序集级别添加 [NonParallelizable]
属性仅用作文档。
[NonParallelizable]
在程序集级别 不会 覆盖您在程序集中可能具有的任何较低级别 [Parallelizable]
属性。相反,较低级别的属性会覆盖较高级别的属性。
我们有一个完整的程序集,我们想在 NUnit 中将其标记为不可并行化。
我发现有一个 [NonParallelizable]
可以根据 the documentation 设置为汇编级别。但是我应该把它放在哪里呢?
有人举个例子吗?
要将属性应用于程序集,您应该指定其目标 (MSDN link) - 通过使用 assembly:
- 因此您应该:
[assembly: NonParallelizable]
此属性可以放在程序集中的任何文件中,只要它不在命名空间内即可,但通常 AssemblyInfo.cs
文件用于程序集属性。
无论出于何种原因,您链接到的 NUnit 文档未提供任何示例属性用法,但 source for NonParallelizableAttribute.cs
显示有一个无参数构造函数(我在上面使用过)。
如果程序集中没有 [Parallelizable]
属性,则程序集不可并行化。在这种情况下,在程序集级别添加 [NonParallelizable]
属性仅用作文档。
[NonParallelizable]
在程序集级别 不会 覆盖您在程序集中可能具有的任何较低级别 [Parallelizable]
属性。相反,较低级别的属性会覆盖较高级别的属性。