Her JUnit testini çalıştırmadan önce bir işlem yapmam gereken proje üzerinde çalışıyorum. Bu sorun, JUnit çekirdeğine eklenebilecek RunListener
kullanılarak çözüldü. Proje montaj Maven'i kullanılarak yapılır, bu yüzden pom
dosyasında bu satırları edilir: testler intellij kullanmaya başladıktan zaman (iç testi kullanılarakJUnit RunListener'ı IntelliJ IDEA'da Kullanma
mvn clean test
Ama:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>cc.redberry.core.GlobalRunListener</value>
</property>
</properties>
</configuration>
</plugin>
Böylece, her şey kullanarak çalışır koşucu) bizim RunListener
kodlu eylemler yürütülmez, bu nedenle IntelliJ altyapısını kullanarak test yapmak mümkün değildir.
Gördüğünüz gibi, IntelliJ bu yapılandırmayı pom dosyasından ayrıştırmıyor, bu nedenle IntelliJile JUnit çekirdeğine RunListener
eklemesini açıkça belirtmenin bir yolu var mı? Yapılandırmada bazı VM seçenekleri kullanılıyor olabilir mi?
Güzel IntelliJ test ortamını maven çıktısını okumak yerine kullanmak daha uygundur.
P.S. Gerçekleştirmem gereken eylem temel olarak statik ortamın sıfırlanmasıdır (sınıflarımdaki bazı statik alanlar).
Başka bir çözüm için teşekkür ederiz! Şimdi, tüm test derslerim için belirtilen '@ Before' yöntemiyle bir global ebeveyn eklemeyi düşünüyorum. Yani, her durumda tüm test dosyalarımı düzenleyeceğim. :(Bu özelliği eklemek için IntelliJ hata izleyicisinde bir bilet oluşturacağım. – dbolotin