如果您运行足够多次,我的 SpecFlow 测试会失败。如何进行现有的 SpecFlow 测试并使其运行无限次直到失败?(理想情况下,我想计算需要多少次。)
我最初的猜测是只调用测试脚本最终调用的绑定方法——但我不断收到空指针异常。显然 SpecFlow 正在初始化我没有的东西。
我的下一个猜测是尝试为测试功能启动自动生成的代码,但它似乎想要来自 SpecFlow 框架的各种我不知道如何生成的数据。
我想做的就是多次运行测试。肯定有什么方法可以完成这个微不足道的任务吗?
如果您运行足够多次,我的 SpecFlow 测试会失败。如何进行现有的 SpecFlow 测试并使其运行无限次直到失败?(理想情况下,我想计算需要多少次。)
我最初的猜测是只调用测试脚本最终调用的绑定方法——但我不断收到空指针异常。显然 SpecFlow 正在初始化我没有的东西。
我的下一个猜测是尝试为测试功能启动自动生成的代码,但它似乎想要来自 SpecFlow 框架的各种我不知道如何生成的数据。
我想做的就是多次运行测试。肯定有什么方法可以完成这个微不足道的任务吗?
看来我太努力了。这是我想出的:
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% 确定这适用于具有复杂设置/拆卸的测试,但它适用于我的特定情况......