获取场景大纲示例

时间:2015-10-01 06:57:16

标签: c# .net cucumber specflow specrun

我目前想要返回场景大纲示例的行并获取行的大小,但是当SpecRun读取要素文件时,我无法执行此操作,它会自动将场景大纲示例转换为单个场景我们要创建的自定义报告需要此信息。

ScenarioContext.Current.ScenarioInfo没有给我这个功能。

当在JAVA中遇到同样的问题时,我们将gherkin.formatter实现到一个自定义类中,并使用plugins = {" my.package.customreport"}

在RunCukesTest类中调用它

但是我不确定在导入gherkin.dll后如何在.Net SpecRun中完成相同的操作。

有人可以对此有所了解或提供替代解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

正如您所写的:我需要这个才能适用于所有步骤,而且这也没有给出示例数和迭代次数。

场景大纲:场景大纲示例

Given I have RestAPI '<iterationNumber>'

When I read '<iterationNumber>' and '<api_key>' 

Then the '<iterationNumber>' and results table
| links list |
| aaa        |
| bbb        |

Examples:
| iterationNumber | api_key                      |
| 0               | @@app.config=api_key_full    |
| 1               | @@app.config=api_key_limited |

调试此

    [Given(@"I have RestAPI '(.*)'")]
    public void GivenIHaveRestAPI(int iterationNumber)
    {
        Console.WriteLine(iterationNumber);
    }

    [When(@"I read '(.*)' and '(.*)'")]
    public void WhenIReadAnd(int iterationNumber, string p1)
    {

        Console.WriteLine(iterationNumber);
    }

    [Then(@"the '(.*)' and results table")]
    public void ThenTheAndResultsTable(int iterationNumber, Table table)
    {
        Console.WriteLine(iterationNumber);
    }