Surefire JUnit Testing przy użyciu bibliotek macierzystych
Używamy Maven w Hudsonie do uruchomienia naszego procesu budowania Java i wtyczki Surefire do wykonywania testów JUnit, jednak natrafiłem na problem z testami jednostkowymi dla jednego projektu, który wymaga natywnych bibliotek DLL.
Błąd, który widzimy to:
Testy w błędzie: TestFormRegistrationServiceConnection (com. # Productidentifierremoved # .test.RegistrationServiceTest): no Authenticator w java.library.path
Gdzie Authenticator to nazwa wymaganego biblioteki DLL. znalazłemten post SO które sugerują, że jedynym sposobem ustawienia tego jest użycie argLine. Zmodyfikowaliśmy naszą konfigurację na następujące:
<code> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.10</version> <configuration> <forkMode>once</forkMode> <argLine>-Djava.library.path=${basedir}\src\main\native\Authenticator\Release</argLine> </configuration> </plugin> </code>
Jednak nadal powoduje to ten sam błąd i jeśli uwzględnimy System.out.println (System.getProperty („java.library.path”)); widzimy, że nie jest to dodawane do ścieżki.
Jakieś pomysły, jak możemy to rozwiązać?