Maven yapımızda - varsayılan profiller ve testler için farklı bir profil kullanıyoruz. Testlerimiz varsayılan profil altında çalıştırıldığında, çeşitli nedenlerden dolayı kırılırlar. Bizim yapı ile takımdamaven'de - doğrulama aşaması varsayılan yürütme üzerinde çalıştırıldığında kullanıcıya nasıl bir mesaj gösterilir?
mvn -Pfoo verify
kötü bizim yapı ile takımda
örn iyi
mvn verify
Biz 'foo' başlığı altında testler ekibimiz insanları teşvik etmek istiyoruz
yaşam döngüsü ve onları olmadığında uyarın.
bu sorunu çözmek için Bulunduğum yaklaşım, varsayılan profil için yeni bir SureFire test oluşturmak tek amacı foo
profil altında testler için kullanıcı anlatmak için yeni bir DefaultProfileWarningTest
hariç tüm testleri hariç tutmaktır. benzer pom.xml
bir yürütme ile
public class DefaultProfileWarningTest {
@Test
public void displayWarning() {
System.out.println("The tests aren't running - you should have run **mvn -Pfoo verify**");
}
}
:
Yani testi gibi görünebilir<profiles>
<profile>
<id>foo</id>
...
</profile>
<profile>
<id>my-default-profile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>DefaultProfileWarningTest.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profiles>
Ama bu sinirleri bozuk kludge gibi görünüyor. Profil öğesini düzeltebileceğimizi varsayarsak, doğrulama aşaması varsayılan profil için kullanıcıya iletiyi görüntülemenin basit ve basit bir yolu var mı?
Soruma soru: Maven'de - doğrulama aşaması varsayılan yürütmede çalıştırıldığında kullanıcıya nasıl bir mesaj gösteriliyor?
Neden bir iletiye ihtiyacınız var? Ayrıca maven-surefire-plugin'i bir profil kullanarak ne kullanıyorsunuz?Eğer bu testler, maven-failsafe-plugin'i kullanmanız gerektiğinden daha iyi bir entegrasyon testidir. Bu, eğer 'mvn temiz verfiy' yaparsanız, sadece temiz bir paket yaparsanız çalışırlar. Bir mvn konuşlandırma yapmak istiyorum entegrasyon testleri ... – khmarbaise
Eğer bu testler kırıyorsa, bu testleri çalıştırmanız için onları test etmelisiniz, aksi takdirde bu testleri çalıştırmanız için test yapmazsınız ... – khmarbaise
Teşekkürler @khmarbaise - Bu iyi bir soruydu - Bu seçeneği araştırdım. – hawkeye