Przerwy, które mam w moim projekcie, muszą załadować pliki właściwości ze ścieżki klasy. Jak mogę określić katalog tych plików właściwości, aby Maven ustawił je w ścieżce klas przed uruchomieniem testów?Maven - Dodaj katalog do ścieżki klasy podczas wykonywania testów
Odpowiedz
Możesz użyć build-helper-maven-plugin, aby określić dodatkowe katalogi zasobów testowych w następujący sposób. Za pomocą poniższego konfigurację, zawartość katalogu test-zasobów zostaną skopiowane do katalogu docelowego/test-classes podczas generowania prób źródeł faza:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>add-test-resource</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>path/to/additional/test/resources</directory>
<excludes>
<exclude>**/folder-to-exclude/**</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Jeśli chcesz tylko umieścić swoją nieruchomość pliki gdzieś na dysku i nie chcesz, aby skopiować te pliki własności kierować/test-klasy podczas kompilacji, można zrobić to w ten sposób
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>/add/this/to/path</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
Niestety, m2e nie pobiera konfiguracji Surefire podczas uruchamiania testów z Eclipse. Szkoda, ponieważ jest to trochę prostsze niż cel dodawania zasobów testowych dodatku do build-helper-maven-plugin. – thSoft
Dlaczego nie wystarczy użyć test/resources
i umieścić swoje właściwości w ścieżce klasy z ten punkt. Będą tam tylko w fazie testów.
Jeden ma tylko jeden taki folder, ale często więcej niż jedno środowisko testowe. – 30thh
Sprawdź profile maven, przyjacielu. –
Jeśli masz wiele środowisk zasobów, możesz użyć profilu maven i umieścić różne zasoby zgodnie z profilem, który testujesz.
test/resources/uat
test/resources/prod
test/resources/dev
Zazwyczaj, jeśli potrzebujesz przeprowadzić test integracji, nie potrzebujesz wtyczki build-helper-maven.
Obiekt maven-resources-plugin
ma cel, który umożliwia kopiowanie zasobów. Na przykład:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>additional-resources</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/conf</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
to skopiuje zawartość folderu conf
w podstawie projektu do folderu target/test-classes
(o ile nie zostały zmodyfikowane project.build.testOutputDirectory), która zostanie dodana do ścieżki klasy podczas swoich testów jednostkowych .
Możesz również dodać nowe foldery zasobów testowych.
<build>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/something_else</directory>
</testResource>
</testResources>
</build>
Pierwsza ścieżka, src/test/resources
, jest domyślna. Zakładając, że nadal chcesz korzystać z domyślnej ścieżki, upewnij się, że jest włączona. (Znacznik testResources
nadpisuje twoje ustawienia domyślne, więc jeśli nie dodasz domyślnej ścieżki jawnie, przestanie być używana.)
To zadziałało dla mnie. +1 za wskazanie potrzeby ustawienia domyślnego. –
Dokładnie tego szukałem, dzięki! Znacznie prostsze niż akceptowane rozwiązanie 'build-helper-maven-plugin'. Dla każdego, kto szuka sposobu, aby to zrobić, konstruktor '
- 1. Maven: dodaj folder lub plik jar do bieżącej ścieżki klasy
- 2. Dodaj katalog do ścieżki globalnie na serwerze ubuntu
- 3. Katalog zasobów do testów w aplikacji Play
- 4. Maven: dodaj zależność do słoju według względnej ścieżki
- 5. Dodaj dodatkową ścieżkę do exec-maven-plugin
- 6. plik ścieżki wewnątrz ignorowane katalog
- 7. Dodaj właściwość do klasy POCO w czasie wykonywania
- 8. Django: Typy ContentTypes podczas migracji podczas wykonywania testów
- 9. Jak mogę uzyskać zależność Maven od ścieżki klasy środowiska wykonawczego, ale nie od ścieżki testowej?
- 10. VS2012: Dostęp do ścieżki jest zabroniony podczas wykonywania publikowania
- 11. Okno dodaj Javę do ścieżki
- 12. Znajdź katalog nadrzędny ścieżki
- 13. Konwertowanie nazwy ścieżki klasy do rzeczywistej nazwy pliku
- 14. Maven - alternatywny katalog .m2
- 15. Ubuntu dodać katalog do ścieżki Python
- 16. Dodawanie/src/main/resources do ścieżki Classpath podczas uruchamiania testów JUnit Spring od Eclipse
- 17. Sposoby mierzenia zużycia pamięci podczas wykonywania testów JUnit
- 18. Jak dołączyć pusty katalog do zestawu maven?
- 19. Dodaj uprzednio zignorowane katalog do Git repozytorium
- 20. Urządzenie "unknown-sdk" podczas wykonywania testów w Jenkins
- 21. Oracle Weblogic dodawanie słoików do ścieżki klasy?
- 22. Dodawanie słoika do ścieżki klasy podczas uruchamiania z wiersza polecenia
- 23. IllegalStateException w Android Support podczas wykonywania testów jednostek
- 24. PhantomJS kończy działanie po błędzie składni podczas wykonywania testów jednostkowych.
- 25. Jak dodać zasoby do ścieżki klasy
- 26. Jak znaleźć katalog macierzysty ścieżki?
- 27. Dodaj ścieżkę do ścieżki wyszukiwania Erlanga?
- 28. Dodaj zajęcia do elementu ścieżki SVG
- 29. błąd kompilacji maven: zduplikowane klasy
- 30. Dodaj atrybut do klasy Pythona
Nie ma znaczenia funkcjonalnie, ale dla uporządkowania, czy faza nie powinna być generowana testowo? - źródła zamiast źródeł generujących test? – thSoft