Obecnie testuję, aby przeprowadzić migrację aplikacji Java 8 do Javy 9/Jigsaw, używając jdk-9 + 149.Gdzie należy umieścić testy jednostkowe podczas migracji projektu Java 8 do Jigsaw
Projekt został rozplanowany w standardowej strukturze katalogów Maven, to znaczy mający src/main/java
, src/test/java
itp
Jak tylko dodać module-info.java
do src/main/java
, Maven-compiler-plugin zawiedzie rzuca NullPointerException. Dzieje się tak, ponieważ spodziewa się znaleźć informacje o module dla katalogu test
. Tak więc, o ile widzę, opcje są następujące:
- utrzymywać klasy testowe w oddzielnym module, co oznacza, że mogą uzyskać dostęp tylko do wyeksportowanych pakietów modułu głównego.
- przenieść klasy testowe do modułu głównego, wraz ze źródłami, co oznacza, że główny moduł wymaga zależności testowych.
Oczywiście żadna z tych opcji nie wydaje się pożądana, dlatego zakładam, że istnieje zalecany sposób testowania modułów Jigsaw w projekcie Maven. Nie mogłem znaleźć ani zaleceń, ani przykładów.
EDIT: Dodawanie pewne informacje, że nie uważa istotne podczas księgowania pytanie (przepraszam)
- the NullPointerException I ran into
- Maven 3.3.9
- Maven-compiler-plugin 3.6.0
- konfiguracja źródła i celu: 9
jakie źródło i miejsce docelowe określono jako konfigurację wtyczki maven-compiler? Proszę również udostępnić ślad stosu dla NPE, aby wyjaśnić błędy. – nullpointer
Przepraszamy, dodaliśmy trochę więcej informacji. Ale w zasadzie NPE było tylko symptomem, który doprowadził mnie do faktycznego pytania, w jaki sposób poradziłbym sobie z testami w ogóle. – peterp