2016-12-28 14 views
0

У меня так много java-файлов, и эти java-файлы test.java не находятся в структуре src/test/java. для ex: у меня есть java-файл с именем abc.java в src/java/abc, но тестовый файл этого java-файла с именем abcTest.java находится в src/java/junit/abc. так как я буду выполнять junit-тестирование этого java-файла через maven pom.xml, так как maven хочет нормальный java-файл в src/main/java и тестовых файлах в src/test/java, так как я сделаю тест через maven?Как запустить тест Junit в Maven, когда тестовый файл не находится в структуре mavenise

Я добавил junit-зависимость и верный плагин в моем pom.xml.

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

и безошибочный плагин

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.10</version> 
       <configuration> 
       <testSourceDirectory>${basedir}/../src/java/junit/*.java</testSourceDirectory> 
       <testClassesDirectory>${project.build.directory}/classe‌​s/</testClassesDirectory> 
<includes> 
      <include>abcTest.java</include> 
      </includes> 
       </configuration> 
      </plugin> 

я дал МВН тестовую команду, но все же он дает нулевые тесты в журнале. Может ли кто-нибудь помочь мне в этом, как запустить junit test.java файлы через maven?

+0

Зачем вам такая структура? – asg

+0

Мне не нужна структура –

+0

Извините, если я вас смутил. Я хочу сказать, почему вы хотите разместить JUnit-класс внутри исходного кода, и вам нужно запустить его с помощью pom.xml? – asg

ответ

0

я добавил эти две строк ниже в моей pom.xml после BASEDIRECTORY тегов и тестов JUnit случаев побежали succe с усмешкой. и теперь я запускаю mvn install, и все мои тестовые файлы в test.java работают, хотя у меня нет структуры maven.

<testSourceDirectory>${basedir}/../src/java/junit</testSourceDirectory> 
     <testOutputDirectory>${basedir}/target/test-classes</testOutputDirectory> 

и после этого я добавил безошибочный плагин и то все мои JUnit testcases работают.

0

Предполагая, что вы не можете создать структуру проекта, вам нужно будет настроить плагин surefire.

Добавление junit-зависимостей будет недостаточным - его можно только скомпилировать ваши тестовые классы.

Итак, вы находитесь в правильном направлении - вам нужно настроить плагин surefire maven, ответственный за запуск тестов.

Теперь, для того, чтобы сделать безошибочный плагин запуска тестов, которые не заканчиваются с * Test.java вам придется изменить включений:

А именно, вы должны будете указать регулярные выражения, которые будут отражать имена тестов вы хотите запустить:

This page описывает именно этот

Надеется, что это помогает

+0

Я добавил оператор include, но все еще не работает. –

+0

org.apache.maven.plugins Maven-безошибочный-плагин 2,10 <конфигурация> $ {имя_базовой_папки} /../ SRC/Java/JUnit/*. Java $ {project.build.directory}/classe s/ abcTest.Java

+0

еще не running.Can вы проверить, что ошибка в этом. @ Марк Bramnik –