SpecFlow等同于参数化测试夹具

我正在使用SpecFlow编写一组测试,并且希望使用不同的输入数据多次运行每个测试。我可以使用方案大纲来做到这一点,但是我想使用相同的测试用例来运行功能文件中的每个方案。

我知道我可以使用Background共享一个案例的设置,但是我正在寻找Background和Scenario Outline之间的交叉点,我可以在其中为背景提供数据表并运行整个功能每行一次。

在NUnit中,我将使用参数化的测试装置来实现这一目标。在SpecFlow中有什么等效的东西吗?

dyr91 回答:SpecFlow等同于参数化测试夹具

您可以利用specflow assist helpers创建数据表对象并在Background中使用它

Background:
    Given I’ve Entered The Following Information
    | FirstName| LastName|Email      |
    | Abcd1    | Xyz1    |abc1@xyz1.com|
    | Abcd2   | Xyz2     |abc2@xyz2.com|

class Person
{
string FirstName { get; set; }
string LastName { get; set; }
string email { get; set; }
}

用法:

    [Binding]
  [Given(@"I’ve Entered The Following Information")]
    public void UseData(TechTalk.SpecFlow.Table table)
    {
        var enumeratePersons = table.CreateSet<Person>();   
          foreach (Person P in enumeratePersons ){

             log.Info(P.FirstName + " " + P.LastName );
          }
     }

您可能必须使用属性或specflow上下文在绑定之间共享数据。运行Background时,它将为每种情况创建数据对象,但是跨绑定使用它是用户的责任

本文链接:https://www.f2er.com/2990099.html

大家都在问