1

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

4

3 回答 3

2

由于 cucumber-jvm 4.4.0 可以使用内置插件的 cucumber-jvm - 未使用。

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

@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 {
}

运行后未使用的 stepdefs 应该在build/report/usage.txt中找到

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

于 2020-01-13T12:32:19.503 回答
1

可能存在单个步骤可以是不同场景的一部分并且仅在步骤定义中具有单一方法的情况。因此,使用“黄瓜特征”插件执行特征文件时,很容易用相应的方法映射特征文件的步骤。

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

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

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

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

于 2017-05-29T09:29:52.277 回答
0

IntelliJ 的黄瓜插件可以搜索步骤定义的用法。它不会一次性给你所有未使用的,但至少你可以一一检查个人使用情况。该插件也可在 IDEA 的社区版中使用。

于 2016-05-31T19:12:42.220 回答