2015-06-11 26 views
8

gelen gradle kullanarak bir test paketi çalıştırabilirsiniz benim test paketi aşağıdakinasıl aşağıdaki komutla testler gradle kullanmaya çalışıyorum ama onun çalışma değilim komut satırından

benziyor

gradle cleanTest test --tests my.package.TestSuite 

Aşağıdaki komutu çalıştırmayı denemekle birlikte, yeterince ağır olmakla birlikte, her bir testi iki kez çalıştırır.

@RunWith(Suite.class) 
@Suite.SuiteClasses({ 
    ATests.class, 
    BTests.class, 
    CTests.class 
}) 
public class MySuite { 
    /* placeholder, use this to contain all integration tests in one spot * */ 
} 
Söyleyemem neden kez kendisi tarafından ve ardından tekrar aynı ad alanında deney paketi altında

gradle clean test --tests my.package.* 

Sadece test paketi bırakın ve bu şekilde yapmak ama daha iyi burada ne oluyor anlamak istiyorum ve olabilir test paketini doğrudan çalıştırmak için.

+0

o komut satırından başarmak mümkün emin değilim. Muhtemelen bunun için ayrı bir görev tanımlamanız gerekiyor. – Opal

cevap

1

Aşağıdakiler benim için yerel olarak çalışır.

gradle -Dtest.single=MySuite clean test 

Bu aslında --test tarafından kullanılan daha gelişmiş filtreleme yaklaşımı karşısında farklı bir yaklaşım (test dahil) kullanır. başvurulan renkli belgelendiği gibi

, yukarıdaki örneğin şeklinde taranmış bir test kümesinden testleri seçmek için **/MySuite*.class--test ise girişimleri, bir dosya bir girişim desenine oluşturarak çalışır. Gradle'da uygulanan jenerik test filtrelemesi ve JUnit Suite runner'ın etrafındaki özel durumlar arasında bazı beklenmedik etkileşimler olduğundan şüpheleniyorum.

Bununla birlikte, Gradle dokümanları yukarıdaki yaklaşımın yerine geçtiğini uyarır ve gerçekte, muhtemelen OpO'nun yorumunu ekleyebilir ve belirli bir test aşaması için süitleri çalıştırmak için açık bir görev tanımlayabilirim. Örneğin, gradle clean testSuite ile aşağıdaki çalıştırma, bir tümleştirme paketi çalıştırabilir.

task testSuite(type: Test) { 
    include 'MySuite.class' 
} 

Referanslar:

İlgili konular