Giriş
@PropertySource ile kardeştir. Test yaparken kullanılır.
Aynı zamanda @DynamicPropertySource anotasyonuna da bakabilirsiniz.
@PropertySource ile kardeştir. Test yaparken kullanılır.
Aynı zamanda @DynamicPropertySource anotasyonuna da bakabilirsiniz.
Bu anotasyonu her testin başına yazmak gereksiz, yoksa her test için context tekrar yüklenir. Eğer gerekiyorsa bir ata test sınıfına yazılabilir.
Örnek - Yanlış Kullanım
Elimizde şöyle bir kod olsun. Şu 4 tane testte context 3 defa yüklenir. TestFour için tekrar yüklemez, çünkü TestThree ile aynı alanları kullanıyor.
@TestPropertySource({"classpath:x.properties","classpath:y.properties"})public class TestOne{//...}@TestPropertySource({"classpath:z.properties","classpath:y.properties"})public class TestTwo{//...}@TestPropertySource({"classpath:x.properties","classpath:z.properties"})public class TestThree{//...}@TestPropertySource({"classpath:x.properties","classpath:z.properties"})public class TestFour{//...}
Örnek - Doğru Kullanım
Şöyle yaparız
Örnek - Doğru Kullanım@TestPropertySource({"classpath:x.properties","classpath:y.properties","classpath:z.properties"})public abstract class AbstractTest {//...}public class TestX extends AbstractTest {//...}
Şöyle yaparız.
@RunWith(SpringRunner.class)
@EnableConfigurationProperties
@TestPropertySource("classpath:../classes/conf/animal.yml")
@ContextConfiguration(classes={Animal.class, Animal.Cat.class})
public class AnimalTest {
...
}
Hiç yorum yok:
Yorum Gönder