2013-02-03 85 views
1

当运行mvn clean install,一旦我们得到试验段,我看到MVN没有找到测试

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 

Results : 

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

我的保命插件配置如下:

 <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <testFailureIgnore>false</testFailureIgnore> 
       <includes> 
        <include>**/*Test*.java</include> 
       </includes> 
      </configuration> 
     </plugin> 

测试文件名格式如下。例如A.java具有ATest.java,因为它的

目录的结构化测试

mvn clean install是然是标准

├── src 
│   ├── main 
│   │   ├── java 
│   │   │   └── *** 
│   └── test 
│    └── java 
│     └── *** 

个别测试与@Test

import org.junit.Test; 

进一步测试命名遵循的

约定注释
public void testSomething() throws Exception 

在完整的精神,下面是我的POM

<?xml version="1.0" encoding="UTF-8"?> 
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
     xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>a.b.c</groupId> 
    <artifactId>My_Project</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <repositories> 
     <repository> 
      <id>JBOSS_NEXUS</id> 
      <url>http://repository.jboss.org/nexus/content/groups/public</url> 
     </repository> 
    </repositories> 
    <build> 
     <finalName>My_Project</finalName> 
     <plugins> 
      <plugin> 
       <groupId>com.google.appengine</groupId> 
       <artifactId>appengine-maven-plugin</artifactId> 
       <version>1.7.4</version> 
      </plugin> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <extensions>false</extensions> 
       <configuration> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <vesion></vesion> 
       <configuration> 
        <testFailureIgnore>false</testFailureIgnore> 
        <includes> 
         <include>**/*Test*.java</include> 
        </includes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>cobertura-maven-plugin</artifactId> 
       <version>2.5.1</version> 
       <configuration> 
        <formats> 
         <format>xml</format> 
         <format>html</format> 
        </formats> 
        <check/> 
       </configuration> 
       <executions> 
        <execution> 
         <phase>clean</phase> 
         <goals> 
          <goal>cobertura</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
    <reporting> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>cobertura-maven-plugin</artifactId> 
       <version>2.5.1</version> 
      </plugin> 
     </plugins> 
    </reporting> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.8.2</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      ... 
     </dependency> 
    </dependencies> 
</project> 

我在想什么吗?

+1

请包括一个没有被发现了一个小测试的来源。他们如何注释?你在使用什么测试框架? –

+0

@DaveNewton更新的问题 – JAM

+1

我有你''模式可能是这个原因的感觉。尝试删除此部分,看看是否有任何测试运行。 –

回答

0

很难帮助,如果信息是分散的,因为它是。你可能无法或不想透露更多,所以我们必须与我们所看到的一起工作。

一个差异我平时的代码是,<scope>test

<dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.8.2</version> 
     <scope>test</scope> 
    </dependency> 

此外每个测试方法需要与@Test,不是类进行注释。这可能是你的意思,但这里的语言有点模糊。

由于您使用的是默认的设置,位置和命名的测试,你可以完全删除maven-surefire-plugin部分。

您可能需要告诉您要使用Java 1.6行家:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.0.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
+0

我尝试了上面列出的所有步骤,同样的问题..还有什么可能? – JAM

+0

尝试使用mvn -X来获取额外的诊断信息,并尝试单独运行单个测试(请查看有关如何执行此操作的maven文档)。您也可以尝试使用Netbeans打开/重新创建您的项目,并查看IDE是否可以提供任何提示。 – Thraidh

相关问题