2015-04-13 3 views
3

Я пытаюсь создать простой проект с maven, который использует Java, Scala и Clojure. У меня есть простые тестовые классы для каждого языка, однако при запуске mvn test тесты clojure не выполняются.Maven Clojure Plugin Не работает тесты

Я использую clojure-maven-plugin компилировать и тестировать код Clojure, и при выполнении МВН цели mvn clojure:test-with-junit он работает, как ожидалось, и я получаю следующий результат:

[INFO] --- clojure-maven-plugin:1.3.20:test-with-junit (default-cli) @ functional-programming-patterns --- 
Tests run: 2, Assertions: 1, Failures: 1, Errors: 0 
There are test failures. 

Хотя, когда я просто запустить mvn test, Я только получить мой Java и Scala тесты для запуска:

Running main.HelloWorldJavaTest 
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.06 sec <<< FAILURE! 
Running main.HelloWorldScalaTest 
Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.312 sec <<< FAILURE! 

Results : 

Failed tests: fail(main.HelloWorldJavaTest): expected:<1> but was:<2> 

Tests in error: 
    fail(main.HelloWorldScalaTest): 1 did not equal 2 

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

мой plugin настраивается следующим образом:

<plugin> 
    <groupId>com.theoryinpractise</groupId> 
    <artifactId>clojure-maven-plugin</artifactId> 
    <version>1.3.20</version> 
    <extensions>true</extensions> 
    <executions> 
     <execution> 
      <id>clojure-compile</id> 
      <phase>compile</phase> 
      <goals> 
       <goal>add-source</goal> 
       <goal>compile</goal> 
      </goals> 
      <configuration> 
       <sourceDirectories> 
        <sourceDirectory>src/main/clojure</sourceDirectory> 
       </sourceDirectories> 
      </configuration> 
     </execution> 
     <execution> 
      <id>clojure-test</id> 
      <phase>test</phase> 
      <goals> 
       <goal>test-with-junit</goal> 
      </goals> 
      <configuration> 
       <testSourceDirectories> 
        <testSourceDirectory>src/test/clojure</testSourceDirectory> 
       </testSourceDirectories> 
      </configuration> 
     </execution> 
    </executions> 
    <configuration> 
     <sourceDirectories> 
      <sourceDirectory>src/main/clojure</sourceDirectory> 
     </sourceDirectories> 
     <testSourceDirectories> 
      <testSourceDirectory>src/test/clojure</testSourceDirectory> 
     </testSourceDirectories> 
    </configuration> 
</plugin> 

Мне просто интересно, есть ли что-то, что мне не хватает в подключаемом модуле, из-за чего мои тесты Clojure не запускаются, когда запускаются оба моих Scala и Java.

UPDATE

Я играл вокруг с этим еще немного, и кажется, что это не правильно привязки к mvn test фазе. Когда я переключаю фазу, плагин привязан от test до process-test-resources, тестовый прогон просто прекрасен. Однако, поскольку у меня были неудачные тесты, Java и Scala не запускаются.

ответ

0

После нескольких проб и ошибок я обнаружил, что плагин Clojure не запускался, если были испытательные сбои в тестах Java или Scala. Однако, если все тесты Java и Scala пройдены, они будут запускать тесты Clojure, как ожидалось.

Я зарегистрировал an issue с плагином.

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