【问题标题】:Specflow - How to pass on the data which has brackets to the step definition without any data lossSpecflow - 如何将带括号的数据传递给步骤定义而不丢失任何数据
【发布时间】:2018-10-25 22:52:03
【问题描述】:

我有一个看起来像这样的规范流测试

When I create a team with <TeamName> <MemberName> <MemberMobileNumber> successfully
Examples:
|TeamName|MemberName|MemberMobileNumber|
|Apple(RD) |James(Smith)|(09)1234567|

如果您观察,我们在测试数据详细信息中有括号,当我读取数据时,数据会失真。有没有办法以数据不失真的方式编写步骤定义。 步骤定义如下所示

[When(@"I create a team with (.*) (.*) (.*) successfully")]
public void WhenICreateATeamWithTeam......{

}

非常感谢您在这方面的帮助。

【问题讨论】:

    标签: bdd specflow


    【解决方案1】:

    在您的示例中看不到任何数据丢失:

    我也尝试过使用 Table 并且效果很好。

    当我尝试执行这样的步骤时,我的数据丢失了:

    [When(@"I create a team with \(.*) \(.*) \(.*)")]
    

    我的 SpecFlow 版本是 2.4.0

    【讨论】:

      【解决方案2】:

      对于您在问题中显示的 .feature 文件中的给定规范:

      Scenario Outline: workWork
         When I create a team with <TeamName> <MemberName> <MemberMobileNumber> successfully
         Examples:
         |TeamName    |MemberName     |MemberMobileNumber |
         |Apple(RD)   |James(Smith)   |(09)1234567        |
      

      对于像这样的步骤定义:

      [When(@"I create a team with (.*) (.*) (.*) successfully")]
      public void WhenICreateATeamWithAppleRDJamesSmithSuccessfully(string p0, string p1, string p2)
      {
      
      }
      

      那么步骤中 p0、p1 和 p2 参数中的数据与预期一致:p0 = "Apple(RD)", p1 = "James(Smith)", p3 = "(09)1234567"。

      有第二种方法可以做到这一点,在 .feature 文件中使用“”作为文本数据,然后在正则表达式(在 step.cs 文件中生成的方法中)中使用“”(。*)“”为每个输入参数。

      Scenario Outline: workWork
          When I create a team with <TeamName> <MemberName> <MemberMobileNumber> successfully
          Examples:
          |TeamName       |MemberName     |MemberMobileNumber |
          |"Apple(RD)"    |"James(Smith)" |"(09)1234567"      |
      
      [When(@"I create a team with ""(.*)"" ""(.*)"" ""(.*)"" successfully")]
      public void WhenICreateATeamWithAppleRDJamesSmithSuccessfully(string p0, string p1, string p2)
      {
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 2019-11-24
        • 2022-01-12
        • 1970-01-01
        • 2018-05-18
        • 2022-08-14
        相关资源
        最近更新 更多