Maven项目测试无法找到黄瓜测试以在命令行上运行功能测试(Works on Cucumber)

时间:2016-09-29 22:34:09

标签: java maven cucumber

首先发布这里,我一直在寻找堆栈来解决我的问题。我正在尝试通过我的Cucumber Test示例运行maven测试。 mvn test没有拿起步骤文件(在我在Runner Test文件中定义了位置功能= ...之后)它在命令行中给出了代码片段声明。我还想提一下,当我运行功能文件时,它在 完全正常。

这是我的结构

enter image description here

这是我的mvn测试

$ mvn test
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Cucumber 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Cucumber ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Johnny\workspace\Cucumber\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Cucumber ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ Cucumber ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Johnny\workspace\Cucumber\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ Cucumber ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to C:\Users\Johnny\workspace\Cucumber\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ Cucumber ---
[INFO] Surefire report directory: C:\Users\Johnny\workspace\Cucumber\target\surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running edu.mason.Cucumber.CucumbRunnerTest

1 Scenarios (1 undefined)
3 Steps (3 undefined)
0m0.000s


You can implement missing steps with the snippets below:

@Given("^I have value in an account$")
public void i_have_value_in_an_account() throws Throwable {
    // Write code here that turns the phrase above into concrete actions
    throw new PendingException();
}

@When("^I deduct money from a bank account$")
public void i_deduct_money_from_a_bank_account() throws Throwable {
    // Write code here that turns the phrase above into concrete actions
    throw new PendingException();
}

@Then("^I will verify the deduction has occured correctly$")
public void i_will_verify_the_deduction_has_occured_correctly() throws Throwable {
    // Write code here that turns the phrase above into concrete actions
    throw new PendingException();
}

Tests run: 5, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 1.692 sec

Results :

Tests run: 5, Failures: 0, Errors: 0, Skipped: 4

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.329 s
[INFO] Finished at: 2016-09-29T15:19:46-07:00
[INFO] Final Memory: 14M/194M
[INFO] ------------------------------------------------------------------------

Pom档案

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>edu.mason</groupId>
    <artifactId>Cucumber</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>Cucumber</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

CucumberRunnerTest

package edu.mason.Cucumber;

import org.junit.runner.RunWith;

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

@RunWith(Cucumber.class)
@CucumberOptions(features="src/test/resource")
public class CucumbRunnerTest {

}

CucumbSteps

package cucumb.features;

import static org.junit.Assert.*;


import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;


public class CucumbSteps {
    int balance = 3000;

    @Given("^I have value in an account$")
    public void valueCheck(){
        System.out.println("Your balance is: "+balance);
    }
    @When("^I deduct money from a bank account$")
    public void stealMoney(){
        balance-=2999;
        System.out.println("Money has succesfully be stolen!!!" + balance);
    }
    @Then("^I will verify the deduction has occured correctly$")
    public void verifyStolen(){
        System.out.print("If money is stolen successfully, assert will be true (1) ");
        assertTrue(balance==1);
    }

}

1 个答案:

答案 0 :(得分:4)

指定胶水以指向步骤包位置

@CucumberOptions(features="src/test/resource", glue = "cucumb.features")