2013-10-29 61 views
0

我有一个在eclipse中设置的mavenized测试项目,我可以在eclipse中运行测试,但是当我尝试从命令行(使用mvn测试)运行它时,它运行没有测试:命令行maven没有运行任何测试

Results : 

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

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.997s 
[INFO] Finished at: Tue Oct 29 16:58:37 GMT 2013 
[INFO] Final Memory: 6M/81M 
[INFO] ------------------------------------------------------------------------ 

我的pom.xml这个样子的:

<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>mocha</groupId> 
    <artifactId>mocha</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.35.0</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.6</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 

    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12.1</version> 
     </plugin> 

    </plugins> 
    </build> 
</project> 

我在做什么错?

+1

你的测试在'src/test/java'中吗?它们是否有'@ Test'注解? – PaulProgrammer

+0

它们用@Test标记,但不在/ src/test/java下。重新排列之后,我得到错误“无法在'mocha/src'中嵌套'mocha/src/test/java'。为了使嵌套从'mocha/src'排除'test /'。不确定如何做到这一点? – user650309

+0

将文件夹布局更改为maven默认值。 'src/main/java'你的生产java代码和你的单元测试的'src/test/java'下。从你的POM中删除适当的配置并重试。 – khmarbaise

回答

0

更改项目布局于以下内容:

mocha 
    src 
     main 
      java/com/.../MyClass.java 
      resources/... 
     test 
      java/com/.../MyTest.java 

取出<sourceDirectory>src</sourceDirectory>,让行家接受默认值。

+0

有什么我必须专门做,以允许maven接受默认值? – user650309

+0

只是删除''配置。 – PaulProgrammer

0

maven use *Test.java默认为通配符。您的测试应该有测试后缀的名称。 或者你应该重新定义它在maven-surefire-plugin

+0

你说得对,但我已经做到了。 – user650309