NUnit并行运行类
我对nunit的平行属性有点困惑: 假设我有3个班,每个班都有一些测试:NUnit并行运行类,nunit,nunit-3.0,Nunit,Nunit 3.0,我对nunit的平行属性有点困惑: 假设我有3个班,每个班都有一些测试: ClassA - Test1 - Test2 - Test3 ClassB - Test1 ClassC - Test1 - Test2 我想并行运行ClassA和ClassB中的每个测试(我不关心顺序) 我还希望在ClassA和ClassB运行时运行ClassC,但在这个类中,我希望保持指定测试的顺序 所以我的问题是,我应该如何设置属性来获得这样的行为 我查看了文档,但我
ClassA
- Test1
- Test2
- Test3
ClassB
- Test1
ClassC
- Test1
- Test2
我想并行运行ClassA和ClassB中的每个测试(我不关心顺序)
我还希望在ClassA和ClassB运行时运行ClassC,但在这个类中,我希望保持指定测试的顺序
所以我的问题是,我应该如何设置属性来获得这样的行为
我查看了文档,但我还是很困惑开始简单
ParallelizableAttribute
执行任何操作,则任何操作都不会并行运行。:-)Parallelizable
添加到每个fixture,那么这三个fixture将并行运行,但单独的测试不会。也就是说,一次最多可以运行三个东西,每个类一个[Parallelizable(ParallelScope.Fixtures)]
,效果与(2)相同。只有当几乎所有的装置都能成功并行运行时,您才应该这样做,在这种情况下,您会将不能并行的装置标记为[不可并行]
。我在帮助人们方面的经验是,太多的人在这样做的时候没有意识到他们的测试在并行运行时可能并不总是正确的。开始时,最安全的做法是默认为非并行,并且只在适合您的情况下添加它[Parallelizable(ParallelScope.All)]
或
[Parallelizable(ParallelScope.Self+ParallelScope.Children)
。我喜欢较长的形式,因为读者更清楚它的作用。这将完全达到您想要的效果