2014-07-23 20 views
5

Jeśli chcemy wykorzystać dla naszego testu TestNG musimy napisać coś takiego:Dlaczego musimy określić useTestNG() dla testów z Gradle?

dependencies { 
    compile project(':model') 
    testCompile 'org.testng:testng:6.8' 
} 

test.useTestNG() 

Jednak przy użyciu Spocka możemy podać tylko zależność

dependencies { 
    compile project(':model') 
    testCompile 'org.spockframework:spock-core:0.7-groovy-2.0' 
} 

Dlaczego musimy określić test.useTestNG()?

Odpowiedz

7

Testy Spocka są uruchamiane za pomocą JUnit, który jest domyślnym atrybutem Gradle. Alternatywnie, testy można uruchomić za pomocą TestNG.

+0

Metoda test.useTestNG() służy do zmiany domyślnego środowiska testowego Gradle? Teraz sprawdziłem, czy istnieje test.useJUnit() dlaczego jest to potrzebne, jeśli JUnit jest domyślny? – Xelian

+2

'useJUnit {...}' jest potrzebne tylko wtedy, gdy konieczne jest skonfigurowanie opcji specyficznych dla JUnit. 'useTestNG()' jest potrzebne, aby przejść do TestNG, a także skonfigurować opcje specyficzne dla TestNG. –

+1

Dziękuję, ale będę kontynuował głupie pytania (rumieniec), jeśli chcemy używać TestNG, JUnit i Spock w tym samym czasie? Jak powiedzieć Gradle'owi, aby używał ich w tym samym czasie, jeśli piszę useJunit, useTestNG, druga będzie ostatnią konfiguracją, która zostanie wzięta pod uwagę? – Xelian