运行SpecFlow测试无穷大时间

时间:2013-09-20 12:39:07

标签: specflow

如果运行足够多次,我的SpecFlow测试会失败。如何进行现有的SpecFlow测试并使其无限次运行直至失败? (理想情况下,我想计算需要多少次。)

我最初的猜测是只调用测试脚本最终调用的绑定方法 - 但我一直得到空指针异常。显然,SpecFlow正在初始化我不是的东西。

我的下一个猜测是尝试为测试功能启动自动生成的代码,但似乎需要来自SpecFlow框架的各种数据,我不知道如何生成。

我想做的就是多次运行测试。当然必须才能完成这项完全无关紧要的工作?

1 个答案:

答案 0 :(得分:2)

看来我太努力了。这就是我想出的:

using System;
using NUnit.Framework;

[TestFixture]
public sealed class StressTest
{
    [Test]
    public void Test()
    {
        var thing = new FoobarFeature();
        thing.FeatureSetup();
        thing.TestInitialize();

        var n = 0;
        while (true)
        {
            Console.WriteLine("------------ Attempt {0} ----------------", n);
            thing.Scenario1();
            thing.Scenario2();
            thing.Scenario3();
            n++;
        }
    }
}

我有一个Foobar.feature文件,该文件会自动生成包含Foobar.feature.cs类的FoobarFeature文件。方案方法的名称显然会根据您的功能文件中的内容而改变。

我不是100%确定这适用于具有复杂设置/拆卸的测试,但它适用于我的特定情况......