C# 什么是测试;“后代”;在努尼特3?
在阅读之后,我承认我对测试如何并行运行的“后代”感到困惑。在我看来,在某些情况下,我希望标记为C# 什么是测试;“后代”;在努尼特3?,c#,nunit,C#,Nunit,在阅读之后,我承认我对测试如何并行运行的“后代”感到困惑。在我看来,在某些情况下,我希望标记为[Test]的所有方法彼此并行运行,也希望与不同测试夹具类中的其他方法并行运行。例如: [TestFixture] [可并行化(ParallelScope.All)] 类固定器a { [Test]public void TestCaseA_One(){} [Test]public void TestCaseA_Two(){} } [测试夹具] [可并行化(ParallelScope.All)] 类固定器
[Test]
的所有方法彼此并行运行,也希望与不同测试夹具类中的其他方法并行运行。例如:
[TestFixture]
[可并行化(ParallelScope.All)]
类固定器a
{
[Test]public void TestCaseA_One(){}
[Test]public void TestCaseA_Two(){}
}
[测试夹具]
[可并行化(ParallelScope.All)]
类固定器B
{
[Test]public void TestCaseB_One(){}
[Test]public void TestCaseB_Two(){}
}
我在上面的期望是,所有4个测试用例方法都并行运行,而不考虑彼此。如果不清楚“后代”是什么(坦率地说,nunit是如何构造测试的,这可能是理解这一点所必需的),我不知道会发生什么。因此,我的问题是:
ParallelScope.All
是我想要的效果所必需的吗?或者仅仅使用[Parallelizable]
就足够了吗简短回答:这与在测试中使用继承无关。:-) 更长: NUnit是一个xunit风格的框架,如SUnit、JUnit、xunit.net、MbUnit等 xunit的基本设计模式是众所周知的复合模式。也就是说,“测试”要么是单个测试用例,要么是多个测试的组合。所以,如果我们使用下面的代码
名称空间My.Tests
{
公共类设备
{
[测试]
public void SimpleTest(){}
[测试用例(1,2,3)]
[测试用例(4,5,6)]
[测试用例(7,8,9)]
公共void参数化测试(int x,int y,int z);
}
}
。。。以下每一项都是NUnit中的“测试”
[Parallelizable]
相当于[Parallelizable(ParallelScope.Self)]
在编写代码时,这两个装置可以彼此并行运行,成员测试也可以并行运行
如果将属性更改为
[Parallelizable]
,那么当每个装置中的成员测试按顺序运行时,装置将并行运行。简短回答:这与在测试中使用继承无关。:-)
更长:
NUnit是一个xunit风格的框架,如SUnit、JUnit、xunit.net、MbUnit等
xunit的基本设计模式是众所周知的复合模式。也就是说,“测试”要么是单个测试用例,要么是多个测试的组合。所以,如果我们使用下面的代码
名称空间My.Tests
{
公共类设备
{
[测试]
public void SimpleTest(){}
[测试用例(1,2,3)]
[测试用例(4,5,6)]
[测试用例(7,8,9)]
公共void参数化测试(int x,int y,int z);
}
}
。。。以下每一项都是NUnit中的“测试”
[Paralleli