2013-02-03 4 views
1

При запуске mvn clean install после того, как мы получим для тестирования раздел, я вижуМВН не находя тесты

------------------------------------------------------- 
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 

В духе полноты, ниже моего англичанина

<?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.

Вам может понадобиться указать Maven, что вы хотите использовать 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

Смежные вопросы