【问题标题】:In TechTalk SpecFlow, how do I abandon a Scenario?在 TechTalk SpecFlow 中,我如何放弃一个场景?
【发布时间】:2020-03-07 15:58:23
【问题描述】:

我的场景读取了一个包含数百行的文件。每行调用一个 API 服务,但该服务可能没有运行。如果我得到一个非 200 响应(在“Then”方法中可用),我想放弃该场景并节省时间。 如何告诉 TechTalk SpecFlow 不要继续进行其他测试?

【问题讨论】:

  • 我会质疑这里的方法。在对它进行测试之前,您不想确保您的 api 服务处于活动状态且“温暖”吗?
  • @Konzy262 这会使测试脚本更加复杂——而且我不是编写它的人。这很难理解,因为它看起来像是由英语专业而不是计算机程序员编写的,并且映射到实际代码与方法名称几乎但没有太大不同,例如类似“如果我读取文件并调用功能 api 然后验证名称是否与标签上的内容匹配”之类的东西,但当然这些不是方法的名称。

标签: testing specflow cancellation


【解决方案1】:

您可以使用this 之类的概念。

       public static FeatureContext _featureContext;

     public binding( FeatureContext featureContext)
            {

                _featureContext = featureContext;
            }

     [Given(@"user login")]
      public void login(){
      // do test
        bool testPassed = //set based on test. true or false
        binding._featureContext.Current["testPass"] = testPassed;
      }

然后在 BeforeScenario() 中

    [BeforeScenario(Order = 1)]
    public void BeforeScenario()
     {

       Assert.IsTrue(FeatureContext.Current["testPass"];);

     }

【讨论】:

  • 这可能是我正在寻找的,但 IIRC 我尝试使用字典,但每次调用都会重置。我稍后再看看
猜你喜欢
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-10
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多