【问题标题】:Cucumber tests not running using ant?黄瓜测试不使用蚂蚁运行?
【发布时间】:2016-04-04 17:45:19
【问题描述】:

我正在使用 ant 部署黄瓜测试。 Ant 生成报告但是这些测试的状态被跳过并且场景说它是未定义的。 我想知道这是我的跑步者课程的问题吗?

我的代码:

package cucumber;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(,
        plugin = {"html:target/cucumber-html-report","junit:target/cucumber-junit-report/test.xml"},
        features = {"src/cucumber/features"} )
public class CucumberRunner {

}

我的 build.xml

<!-- Build targets -->
<target name="build" description="Build project" depends="clean,compile,package"/>
<target name="test" description="Test project" depends="build">
        <mkdir dir="target/cucumber-junit-report"/>
        <java classname="cucumber.api.cli.Main" fork="true" failonerror="false" resultproperty="cucumber.exitstatus">
            <classpath refid="test.classpath"/>
            <arg value="--format"/>
            <!-- creates our junit report -->
            <arg value="junit:target/cucumber-junit-report/test.xml"/>
            <arg value="--format"/>
            <arg value="pretty"/>
            <arg value="--format"/>
            <!-- creates our cucumber html friendly report -->
            <arg value="html:target/cucumber-html-report"/>
            <arg value="--format"/>
            <!-- creates our cucumber json friendly report -->
            <arg value="json:target/cucumber.json"/>
            <arg value="--glue"/>
            <!-- identifies the package (folder) where the cucumber definitions live -->
            <arg value="test.src.cucumber.features"/>
            <!-- identifies the folder where the feature files live (looks in all subfolders) -->
            <arg value="test/src/cucumber"/>
        </java>

        <!-- writes out information to junit report -->
        <junitreport todir="target/cucumber-junit-report">
            <fileset dir="target/cucumber-junit-report">
                <include name="test.xml"/>
            </fileset>
            <report format="frames" todir="target/cucumber-junit-report"/>
        </junitreport>

        <!-- checks our exit status, and determines success or failure -->
        <fail message="Cucumber failed">
            <condition>
                <not>
                    <equals arg1="${cucumber.exitstatus}" arg2="0"/>
                </not>
            </condition>
        </fail>
    </target>    

【问题讨论】:

    标签: java testing ant cucumber build.xml


    【解决方案1】:

    快速浏览一下你的跑步者课程并不能告诉我它已经坏了。

    但是,我会减少问题并从可行的方法开始。在这种情况下,我会克隆 https://github.com/cucumber/cucumber-java-skeleton 或将其下载为 zip 并查看它是否有效。然后,我将逐步介绍您拥有的东西。非常小的步骤,并始终验证场景是否正确执行。

    您遇到了某种问题,至少在我看来,您的构建中发生了很多事情。

    记住高尔定律: “一个有效的复杂系统总是被发现是从一个有效的简单系统演变而来的。一个从零开始设计的复杂系统永远不会有效,也无法修补以使其有效。你必须从一个有效的简单系统重新开始。”

    【讨论】:

      【解决方案2】:

      我认为你必须扩展一个类似这样的抽象测试类

      public class TestRunner extends AbstractTestNGCucumberTests {
      

      【讨论】:

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