我们将mbunit gallio与[TestFixture,Parallelizable]testfixture和[Test(Order = X),Parallelizable]测试属性一起使用,除了测试顺序被有效忽略之外,无论我们应用什么X值,它都可以正常工作,这似乎不会影响测试的执行顺序。我们在这里做错了什么吗,使用 [Test(Order)] 有什么特殊的技巧吗,或者可能是因为我们使用了可并行化?
例:
[TestFixture, Parallelizable]
public class SignUpTests : BaseTest
{
[Test(Order = 2), Parallelizable]
public void SignUpProcessShouldBeEndedWithConfirmationPageAndWelcomeEmailSent()
{
blah-blah-blah;
blah-blah-blah;
}
// we expect this test to be executed before SignUpProcessShouldBeEndedWithConfirmationPageAndWelcomeEmailSent()
// but it's not the case
[Test(Order = 1), Parallelizable]
public void SignUpProcessShouldCompleteAndProvisionedServicesStatusUpdated()
{
blah-blah-blah;
blah-blah-blah;
}
尝试 DependsOn 属性,假设"测试用例 1"依赖于"测试用例 2",测试用例
2 将首先执行,然后执行测试用例 1。
Include 'MbUnit.Framework.TestSequence(1)' and use ProcessTextFixture instead of TextFixture.
[ProcessTextFixture]
public class TestSequeunce
{
[MbUnit.Framework.TestSequence(1)]
[TEST]
public void TestMethod1()
{
}
[MbUnit.Framework.TestSequence(2)]
[TEST]
public void TestMethod1()
{
}`enter code here`
}