#java #unit-testing #gradle #junit #build.gradle
#java #модульное тестирование #gradle #junit #build.gradle
Вопрос:
Вопрос
Как мне запустить модульные тесты JUnit в проекте Java Gradle?
Объяснение
У меня есть проект Java Gradle. Он использует Vert.x, но сейчас я просто пытаюсь начать с основ (JUnit), прежде чем использовать модуль Vert.x. Я хочу начать писать модульные тесты для своего проекта. Я супер-новичок, когда дело доходит до модульных тестов.
Я не могу понять, как запускать мои модульные тесты. У меня есть каталог в моем проекте src/test/java
, и в этом каталоге у меня есть пакет com.mycompany.myproject.verticle
. Внутри этого пакета у меня есть класс:
package com.mycompany.myproject.verticle;
import org.junit.test;
public class VerticleUnitTest {
@Test
public void testTest() {
System.out.println("TESTING ::::::::");
}
}
В свой build.gradle
файл я добавил следующее:
testCompile('junit:junit:4.13')
...
sourceSets {
test {
java {
srcDirs = ["src/test/java"]
}
}
}
А затем в моем терминале, находясь в корне проекта, я запускаю:
./gradlew test
Мой тест ничего не выводит. Я не вижу в выводе консоли ничего, что указывало бы на то, что тест был запущен.
Что я пробовал
Я попытался изменить srcDirs
значение, чтобы охватить весь каталог ( src/main/java/com/mycompany/myproject
), просто чтобы заставить его работать, хотя я уверен, что в будущем у меня будут разные модульные тесты в разных пакетах. Я попытался изменить srcDirs
значение на just .
, а затем /
. Ни один из них, похоже, не сработал.
Я пытался просто создать свой проект ./gradlew clean build
, чтобы посмотреть, поможет ли это моим тестам, но это не сработало.
Я пытался перейти testCompile(...)
на testImplementation(...)
. Это не сработало.
Комментарии:
1. каков результат вашей
./graldew test
команды? по умолчанию в Gradle у вас не будет журналов выполнения тестов, но вы можете включить ведение журнала, настроив тестовую задачу следующим образом :test { testLogging.showStandardStreams = true }
2. вы также можете увеличить уровень журнала при выполнении Gradle, который будет отображать выходные данные вашего модульного теста:
./gradlew test -i
Ответ №1:
Самый простой способ запуска тестов — использовать command для запуска тестов в отдельных модулях, и сначала вам нужно выполнить команду clean, чтобы получить чистое состояние, например:
./gradlew clean lib:testDebugUnitTest -i
В этом случае имя модуля — «lib» — измените его на свое имя модуля.
Если у вас есть тесты в приложении — назовите его app:testDebugUnitTest
Аргумент -i:
- это только даст вам больше информации обо всем, что выполняется позади.