【问题标题】:Get File of a Scenario in Cucumber-jvm在 Cucumber-jvm 中获取场景文件
【发布时间】:2014-04-02 20:51:43
【问题描述】:

在 Ruby 中,我可以使用以下方式获取场景文件的名称(例如“login.feature”):scenario.file.to_s - (http://rdoc.info/gems/cucumber/Cucumber/Ast/HasLocation#file-instance_method)

有没有办法在 Cucumber-JVM 中做到这一点?

【问题讨论】:

  • 出于什么目的?如果您只想知道失败的 cuke 的文件在哪里,只要您不在参数列表中使用“--no-source”,就可以在报告中看到它。或者您可以 grep 查找您的文件。
  • 我想为我的系统创建一个文档。如果测试通过,我会创建一个类似“login.feature.html”的文件,其中 login.feature 是包含当前场景的文件的名称。
  • Cucumber 已经记录了你的结果。我使用黄瓜报告作为我们 FDA 文件的一部分。试试这些链接,看看什么最符合您的需求。 cukes.info/reports.htmlgithub.com/masterthought/cucumber-reportinggroups.google.com/forum/#!topic/cukes/Xl6ZOxJVXs4
  • 我已经创建了一个自定义的.. 我需要它,因为我想将它发送给客户,它必须更加可定制。这就是为什么我问是否有人知道这是否是一种获取场景文件名的方法,比如在黄瓜中获取红宝石。

标签: cucumber cucumber-jvm


【解决方案1】:

如果您使用的是 junit 运行器,请编写自己的格式化程序。

@RunWith(Cucumber.class)
@CucumberOptions(
        features = "classpath:features/something.feature",
        format = "com.blah.PrintingFormatter",
        glue = "com.blah.steps")
public class CucumberTest {

}

您的 PrintingFormatter 应该实现 gherkin.formatter.Formatter 接口,特别是 uri 方法。

@Override
public void uri(String uri) {
    //do something
}

添加一个 println,您将看到功能文件的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多