Dosya ayrıştırıcı sınıfı için bir test yazıyorum. Ayrıştırma yöntemi parametre olarak bir dosya adı alır ve ayrıştırmak için onu açmalıdır (duh).JUnit testinde maven özellikleri nasıl alınır?
Proje dizinimdeki test/kaynak dizinine koyduğum ve bu dosyayı ayrıştırmamı test etmek için iletmek istediğim bir test dosyası yazdım. Bu proje CVS'de olduğundan ve diğerleri tarafından manipüle edileceğinden, dosya yolunu kodlayamıyorum, bu yüzden testimde dosya adı oluşturmak için maven $ {basedir} özelliğini kullanmayı düşündüm. Şunlar gibi:
public void parseTest() {
...
sut.parse(${basedir} + "src/test/resources/testFile");
...
}
Bunu nasıl başarabileceğimi bilen biri var mı?
1) gibi bir şey yapabileceğini sizin pom bir sistem özelliği (docs)
aracılığıyla testine dosya yolunu geçirin: Sonra
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<systemProperties>
<property>
<name>filePath</name>
<value>/path/to/the/file</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
Seçenek 2'yi alacağım. Ama dosya adını geçmek yerine, Class.getResourceAsStream (String dosyaAdı) yöntemini kullanmak yerine Class.getResource (String dosyaAdı) .getFile() kullanıyorum. Teşekkürler Mike – Alexandre
Bu harika. Sadece bir JAR'dan (eğer bu mümkün değil) testleri çalıştırmanız gerekiyorsa, bazı garip davranışların olabileceğini unutmayın. –
Bu cevabın ne kadar tamamlandığından emin değilsiniz - private settings.xml dosyasında saklamak isteyebileceğiniz yerel DB adresi gibi "entegrasyon testi" özellikleri nedir? –