[黄瓜] [JVM] [Maven]测试未从命令行通过maven运行 [英] [Cucumber][JVM][Maven]Tests dosen't run from command line through maven

查看:84
本文介绍了[黄瓜] [JVM] [Maven]测试未从命令行通过maven运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Java和Maven进行黄瓜测试. 我正在使用Eclipse IDE. pom.xml也具有Cucumber依赖性. 我以两种方式运行测试.

I am running tests using java, cucumber with Maven. I am using Eclipse IDE. Also the pom.xml has cucumber dependencies. I am running tests in two ways.

  1. 在Eclipse IDE中:我将测试作为Junit测试运行,并且测试结果成功.

2:从命令promt:我的测试失败,结果如下.

2: From command promt: My test failed and below is the result.

  • 这是Pom.xml:

  • Here is the Pom.xml:

http://maven.apache.org/xsd/maven-4.0.0.xsd> 4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>CCIRA_Test_Auto</groupId>
<artifactId>CCIRA_Test_Auto</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>CCIRA_Test_Auto</name>

<properties>
    <cucumber.version>1.2.0</cucumber.version>
    <picocontainer.version>2.15</picocontainer.version>
</properties>

<dependencies>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>${cucumber.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.5</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>${cucumber.version}</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
    </dependency>

    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.2.1</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.44.0</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.9</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.11-beta3</version>
    </dependency>
    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>2.0.2</version>
    </dependency>

    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.8.0</version>
    </dependency>
</dependencies>

<build>
    <pluginManagement>
        <plugins>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

我的跑步者测试:

打包ccira.helpers;

package ccira.helpers;

    import org.junit.runner.RunWith;



import org.testng.annotations.Test;

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



@RunWith(Cucumber.class)

@CucumberOptions(

features = "C:/Users/rah/Documents/workspace/CCIRA_auto/src/ressouces/features",

tags = {"@Personne"},

glue={"ccira.stepDefinitions"},

plugin ={
"pretty",
"html:results/cucumber",
"json:results/cucumber.json",
"junit:results/cucumber.xml",
}
        )


public class RunnerTest {
}

  • 我的输出控制台:

  • My output console :

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further   details.
    
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building CCIRA_Test_Auto 0.0.1
    [INFO] ------------------------------------------------------------------------
    [WARNING] The artifact xml-apis:xml-apis:jar:2.0.2 has been relocated to xml-apis:xml-apis:jar:1.0.b2
    [INFO] 
    [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ CCIRA_Test_Auto ---
    [debug] execute contextualize
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] skip non existing resourceDirectory C:\Users\rah\Documents\workspace\CCIRA_Test_Auto\src\main\resources
    [INFO] 
    [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ CCIRA_Test_Auto ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO] 
    [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ CCIRA_Test_Auto ---
    [debug] execute contextualize
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] skip non existing resourceDirectory C:\Users\rah\Documents\workspace\CCIRA_Test_Auto\src\test\resources
    [INFO] 
    [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ CCIRA_Test_Auto ---
    [INFO] No sources to compile
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ CCIRA_Test_Auto ---
    [INFO] Surefire report directory: C:\Users\rah\Documents\workspace\CCIRA_Test_Auto\target\surefire-reports
    
    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    
    
    Results :
    
    
    Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
    
        [INFO] ------------------------------------------------------------------------
        [INFO] BUILD SUCCESS
        [INFO] ------------------------------------------------------------------------
        [INFO] Total time: 10.051s
        [INFO] Finished at: Mon Dec 05 09:30:10 GMT 2016
        [INFO] Final Memory: 7M/62M
        [INFO] ------------------------------------------------------------------------
    

    推荐答案

    依赖项

    org.slf4j.impl.StaticLoggerBinder
    

    您的pom.xml文件中未定义

    .但是,它是在Eclipse项目的构建路径中定义的.将slf4j-nop.jar,slf4j-simple.jar,slf4j-log4j12.jar,slf4j-jdk14.jar或logback-classic.jar中的一个(仅一个)放置在类路径上即可解决此问题.

    is not defined in your pom.xml file. However it is defined on your build path in your Eclipse project. Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

    我会在您的pom.xml中添加一个依赖项,也许是这样的:

    I would add a dependency in your pom.xml, perhaps something like this:

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.21</version>
    </dependency>
    

    编辑

    一种不太好但可行的替代方法是利用Surefire插件的

    A less good but viable alternative is to utilize the Surefire plugin's additionalClasspathElements element "to add custom resources/JARs to your classpath. This will be treated as an absolute file system path, so you may want use ${basedir} or another property combined with a relative path. Note that additional classpath elements are added to the end of the classpath, so you cannot use these to override project dependencies or resources."

    我说的不太好,因为最好在pom.xml中将其作为依赖项进行跟踪,如果您将一个依赖项更新为更高版本,则可以看到还必须更新的其他依赖项.您可能会忽略surefire插件中指定的jar.

    I said less good because it is better to track as dependencies in your pom.xml where if you update one dependency to a later version you can see the other dependencies that also have to be updated. You might overlook jars specified down in the surefire plugin.

    这篇关于[黄瓜] [JVM] [Maven]测试未从命令行通过maven运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆