【问题标题】:Run SpecFlow test infinity times无限次运行 SpecFlow 测试
【发布时间】:2013-09-20 21:22:13
【问题描述】:

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

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

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

我要做的就是多次运行测试。肯定有必须某种方法来完成这个微不足道的任务吗?

【问题讨论】:

    标签: specflow


    【解决方案1】:

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

    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 文件,它会自动生成一个包含FoobarFeature 类的Foobar.feature.cs 文件。场景方法的名称显然会根据您的功能文件中的内容而改变。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 2015-05-04
      相关资源
      最近更新 更多