Obecnie mam następujący plik build.gradle :
apply plugin: 'java'
sourceSets {
main {
java {
srcDir 'src/model'
}
}
}
dependencies {
compile files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar')
runtime fileTree(dir: 'libs', include: '*.jar')
}
Ten plik build.gradle jest przeznaczony dla mojego repozytorium tutaj . Wszystkie moje główne pliki znajdują się w src / model /, a ich odpowiednie testy znajdują się w test / model .
Jak poprawnie dodać zależność JUnit 4, a następnie uruchomić te testy w folderach testy / model ?
java
gradle
junit4
build.gradle
Wang-Zhao-Liu Q
źródło
źródło
srcDirs = ["test/model"]
jest nieco bardziej precyzyjny, ponieważ usuwa domyślny katalog źródeł testowych, podczas gdysrcDir "test/model"
dodaje inny katalog. To samo dotyczymain
zestawu źródłowego.Jeśli skonfigurujesz swój projekt z domyślną strukturą pakietu Gradle, tj .:
wtedy nie będziesz musiał modyfikować sourceSets, aby uruchomić testy. Gradle zorientuje się, że klasy i zasoby testowe znajdują się w src / test. Możesz wtedy biec, jak mówi Oliver powyżej. Jedna uwaga: zachowaj ostrożność podczas ustawiania plików właściwości i uruchamiania klas testowych zarówno w gradle, jak i w IDE. Używam Eclipse, a gdy uruchamiam z niego JUnit, Eclipse wybiera jedną ścieżkę klas (katalog bin), podczas gdy gradle wybiera inną (katalog kompilacji). Może to prowadzić do nieporozumień, jeśli edytujesz plik zasobów i nie zobaczysz zmiany odzwierciedlonej w czasie wykonywania testu.
źródło
Jeśli stworzyłeś swój projekt za pomocą Spring Initializr , wszystko powinno być poprawnie skonfigurowane, a jedyne co musisz zrobić to uruchomić ...
--info
jeśli nie chcesz widzieć wyników testu.clean
jeśli nie chcesz ponownie uruchamiać testów, które przeszły już od ostatniej zmiany.Zależności wymagane
build.gradle
do testowania w Spring Boot ...dependencies { compile('org.springframework.boot:spring-boot-starter') testCompile('org.springframework.boot:spring-boot-starter-test') }
Z jakiegoś powodu program uruchamiający testy nie informuje o tym, ale generuje raport HTML w formacie
build/reports/tests/test/index.html
.źródło
testCompile jest przestarzała. Zgodność z Gradle 7:
dependencies { ... testImplementation 'junit:junit:4.13' }
a jeśli używasz domyślnej struktury folderów (src / test / java / ...), sekcja testowa wygląda po prostu:
Wreszcie:
Zobacz też: https://docs.gradle.org/current/userguide/java_testing.html
źródło
Jeśli chcesz dodać zestaw sourceSet do testowania oprócz wszystkich istniejących, w module niezależnie od aktywnego smaku:
sourceSets { test { java.srcDirs += [ 'src/customDir/test/kotlin' ] print(java.srcDirs) // Clean } }
Zwróć uwagę na operatora
+=
i jeśli chcesz uruchomić testy integracyjne zmieńtest
naandroidTest
.GL
źródło