Как мне запустить JUnit-тесты с Gradle project?

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

  • это только даст вам больше информации обо всем, что выполняется позади.