如何在cucumber-jvm junit项目中检测未使用的步骤定义?

时间:2016-05-31 16:02:34

标签: java junit cucumber-jvm cucumber-junit cucumber-java

我正在使用cucumber-junit项目运行自动化测试,我的项目中大约有200个场景...现在的问题是,很难找到未使用的步骤我的项目中的定义,因为我们不断需要更新功能..是否有任何解决方案来检测不再有用的步骤定义..任何帮助非常感谢!!

3 个答案:

答案 0 :(得分:1)

可能存在这样的情况:单个步骤可以是不同方案的一部分,并且仅在步骤定义中具有单个方法。因此,使用黄瓜功能'执行特征文件时,很容易使用相应的方法映射特征文件的步骤。 PULG-英寸

但是,实际上不可能从步骤定义文件中交叉验证相同,以识别特征文件数量中的单个步骤。

也许,唯一可能的出路是以模块化方式设计您的应用程序:

1)具有特定于特定功能/模块的特征文件和相应的步骤定义文件。 2)将通用方法保存在通用父步骤定义文件中。

因此,以模块化方式设计应用程序可以轻松地识别可以从步骤定义中删除的未使用方法。

答案 1 :(得分:1)

从cumul-jvm 4.4.0开始,可以使用内置插件中的cumul-jvm-未使用。

对于黄瓜junit跑步者,它可能看起来像这样:

@RunWith(Cucumber.class)
@CucumberOptions(
    plugin = {
        "json:build/report/cucumber.json",
        "unused:build/report/usage.txt"} //mind this plugin
    glue = "stepdefs",
    features = "features"
)
public class CucumberRunner {
}

运行后,应该在 build / report / usage.txt

中找到未使用的stepdef。

原始拉取请求:https://github.com/cucumber/cucumber-jvm/pull/1648

答案 2 :(得分:0)

IntelliJ的黄瓜插件可以搜索步骤定义的用法。它不会一次性给你所有未使用的,但至少你可以逐个检查个别用法。该插件也可以在IDEA的Community Edition中找到。