Intereting Posts
FloatingActionButton: настройка настраиваемого фона не поддерживается Вызов java-кода, который не принимает значение null от kotlin Ошибка несоответствия данных типа Kotlin Что отличается между двумя конструкторами? Маршрутизация статического содержимого в VertX Как издеваться над реактивным репозиторием, который возвращает Observable Генератор последовательности как вызов функции расширения не работает с «несоответствием типа приемника», «Ошибка неоднозначности разрешения перегрузки» разрешена с другой перегрузкой Живые данные MPAndroidChart не отображаются без начальных границ Kotlin Родной эквивалент System.exit (-1) Использование цветов, определенных в базовом модуле из функционального модуля, не выполняется после восстановления Android Instant App Как я могу определить, когда тип Kotlin будет сопоставлен с типом Java? Подкатегория Query FireStore Сортировка объектов по алфавиту Flutter: как запускать и андроид намерение и возвращать данные на флаттер

Как запустить тесты Spek с Maven?

Я пытаюсь запустить тесты Spek с Maven. Я создал maven следующим образом:

<build> <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory> <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory> <plugins> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <configuration/> <executions> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <phase>test-compile</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 

Кроме того, у меня есть несколько тестов Spek в src / test / kotlin. Я могу запустить их в среде IDE, но когда я запускаю mvn test они полностью игнорируются плагином surefire (он сообщает 0 тестов). Можно ли запускать тесты Spek с maven, и если да, то как это будет настроено? Я не могу найти ничего об этом на главной странице.

Я мог бы воспроизвести вашу проблему с помощью небольшого примера проекта, который вы можете найти на GitLab.com .

Если вы запустите mvn clean test , surefire не найдет никаких тестов:

 [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ spek-maven-sample --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.074 s [INFO] Finished at: 2016-07-27T00:49:14+02:00 [INFO] Final Memory: 36M/363M [INFO] ------------------------------------------------------------------------ 

Это можно обойти, явно включив тестовые спецификации в плагин Surefire. Скажем, все ваши спецификации называются *Spec.* , А затем явным образом настраиваем верность в вашем pom.xml :

 <build> <plugins> <!-- other build plugins like the kotlin-maven-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> <configuration> <includes> <include>**/*Spec.*</include> </includes> </configuration> </plugin> </plugins> </build> в <build> <plugins> <!-- other build plugins like the kotlin-maven-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> <configuration> <includes> <include>**/*Spec.*</include> </includes> </configuration> </plugin> </plugins> </build> 

приведет к выполнению тестов

 [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ spek-maven-sample --- [INFO] Surefire report directory: C:\Dev\IDEA\spek-test\target\surefire-reports ------------------------------------------------------- TESTS ------------------------------------------------------- Running NonsenseTestableSpec Proof that 'should return true' ran Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec Results : Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.335 s [INFO] Finished at: 2016-07-27T01:02:12+02:00 [INFO] Final Memory: 26M/363M [INFO] ------------------------------------------------------------------------ 

Вы можете найти полный рабочий пример в ветке «explicit-surefire-config» указанного репозитория.