【问题标题】:Dcucumber.options, run a single cucumber testDcucumber.options,运行单个黄瓜测试
【发布时间】:2017-10-04 13:59:41
【问题描述】:

我必须遵循项目结构:

目录 src/test/java/ic/tests 包含 junit 测试,目录 src/test/features/ic 包含黄瓜测试(功能文件)。

但是当我执行 maven 运行 (mvn test -Dcucumber.options="src/test/features/ic --tags @IC-115") 执行单个黄瓜测试时在 src/test/java/ic/tests 目录中启动 junit 测试...

只有对应的特征文件用@IC-115注释。

即使是绝对版本mvn test -Dcucumber.options="C:\Users_Clemens_\Documents\test-ic\src\test\resources\features\ic\IC-115-LogOut.feature" 不执行我的测试。

如何执行我想要执行的单个黄瓜测试?

【问题讨论】:

    标签: java maven junit cucumber


    【解决方案1】:

    尝试使用功能名称运行命令(功能的确切方式)。

    mvn test -Dcucumber.options="src/test/features/ic/FeatureName.feature"

    或者,如果该功能由多个测试组成,您可以为测试设置一个特定(不用于其他场景)标签并运行

    mvn verify -Dcucumber.options="--tags @specifictag"

    【讨论】:

    • 我用上面看到的特定标签做的......似乎不起作用
    • 即使文件名不工作...每次 junit 测试时都会执行。
    • 您能否从您的 cmd(Eingabeaufforderung) 中粘贴屏幕截图以查看使用特定标签运行它时会发生什么(请确保您在项目目录中运行该命令)
    • 见上面的新截图
    • 好的,显然您仍然使用旧标签 (@IC-115) 运行它。您能否转到 features-> ic -> '我们正在寻找的功能'并在必须运行的场景名称之前放置一个标签 @run。之后,您可以在 cmd 中运行以下命令 -> mvn verify -Dcucumber.options="--tags @run"
    【解决方案2】:

    可以通过添加一个运行器类并将功能文件移动到“src/test/resources”并添加 maven-surefire-plugin 并添加一个排除到运行器类来解决它。看来这三个步骤都是必须的。

    package kiwigrid;
    
    import org.junit.runner.RunWith;
    
    import cucumber.api.CucumberOptions;
    import cucumber.api.junit.Cucumber;
    
    @RunWith(Cucumber.class)
    @CucumberOptions(features="src/test/resources")
    public class Runner {
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 2020-12-19
      • 2020-03-28
      • 2011-04-10
      • 1970-01-01
      相关资源
      最近更新 更多