Vykdykite vieną bandymo metodą

Žinau, kad galite atlikti visus bandymus tam tikroje klasėje, naudodami:

 mvn test -Dtest=classname 

Bet aš noriu paleisti individualų metodą, o -Dtest = classname.methodname neveikia.

442
09 дек. nustatė BillMan 09 dec. 2009-12-09 16:44 '09, 4:44 PM 2009-12-09 16:44
@ 11 atsakymų

Jei norite paleisti vieną bandymo metodą Maven'e, turite pateikti tokią komandą kaip:

 mvn test -Dtest=TestCircle#xyz test 

kur TestCircle yra bandymo klasės pavadinimas, o xyz yra bandymo metodas.

Taip pat veikia lauko ženklai; ir metodo pavadinime, ir klasės pavadinime.

Jei testuojate kelių modulių projekte, nurodykite modulį, kuriame bandymai vyksta, su -pl <module-name> .

Integracijos testams naudokite it.test=... vietoj test=... :

 mvn -pl <module-name> -Dit.test=TestCircle#xyz integration-test 
593
13 мая '11 в 9:53 2011-05-13 09:53 atsakymą Mudit Srivastava pateikė gegužės 13 d. 11 val. 9:53 2011-05-13 09:53

Yra teisinga 2.12 problema. Taip atsitiko su manimi, pakeičiant „Maven-surefire-plugin“ nuo 2.12 iki 2.11:

  1. mvn test -Dtest=DesignRulesTest

    Rezultatas:
    [KLAIDA] Nepavyko įvykdyti tikslinių org.apache.maven.plugins: maven-surefire-plugin: 2.12 : testas (numatytasis testas) PMD projektui: Nebuvo atlikta jokių bandymų!

  2. mvn test -Dtest=DesignRulesTest

    Rezultatas: [INFO] --- maven-surefire-plugin: 2.11 : test (numatytasis testas) @pmd ---... Vykdykite net.sourceforge.pmd.>

21
15 окт. atsakymą Duccio Fabbri pateikė spalio 15 d. 2012-10-15 01:10 '12 ne 1:10 2012-10-15 01:10

Ką daryti su „TestNG“ (atsiprašau, „JUnit“ nepalaiko šio), galiu priskirti grupę bandymui, kurį noriu paleisti

 @Test(groups="broken") 

Ir tada tiesiog paleiskite „mvn -Dgroups = broken“.

16
10 дек. atsakymas duotas tunaranch 10 gr. 2009-12-10 02:13 '09 2009-12-10 02:13 02:13

Metodų rinkinio vykdymas vienoje bandymo klasėje 2.7.3 versijoje vienoje bandymo klasėje galite atlikti tik n testus.

PASTABA: jis palaiko junit 4.x ir TestNG.

Turėtumėte naudoti šią sintaksę

 mvn -Dtest=TestCircle#mytest test 

Taip pat galite naudoti šablonus.

 mvn -Dtest=TestCircle#test* test 

Su pasitikėjimu 2.12.1 galite pasirinkti kelis metodus (JUnit4X tik šiuo metu, sveikinimo pleistrai)

 mvn -Dtest=TestCircle#testOne+testTwo test 

Peržiūrėkite atskirų testų nuorodą .

14
28 февр. Atsakymą pateikė Prasanth Kumar Diddi vasario 28 d. 2013-02-28 17:22 '13, 17:22, 2013-02-28 17:22

Galite atlikti konkrečią bandymų klasę ir metodą (-us), naudodami šią sintaksę:

  1. pilnas paketas: mvn test -Dtest = "com.oracle.tests. **"

  2. Visas metodas klasėje: mvn test -Dtest = CLASS_NAME1

  3. vienas metodas iš vienos klasės: testas mvn -Dtest = CLASS_NAME1 # METHOD_NAME1

  4. keli metodai iš kelių klasių: mvn testas -Dtest = CLASS_NAME1 # METHOD_NAME1, CLASS_NAME2 # METHOD_NAME2

7
02 июля '18 в 6:10 2018-07-02 06:10 Atsakymą pateikia Nazmul Hoque Shafin liepos 2 d., 18 val. 6:10. 2018-07-02 06:10

Ši komanda dirba! mvn "-DTest=JoinTeamTestCases#validateJoinTeam" test Atkreipkite dėmesį, kad „-DTest“ prasideda viršutine byla „T“.

5
07 авг. atsakymą pateikė vikas 07 rug. 2017-08-07 14:14 '17, 14:14 pm 2017-08-07 14:14

Bandymo parametras, kurį nurodo tobrien, leidžia jums nustatyti metodą, naudodamas # metodą prieš metodo pavadinimą. Tai turėtų veikti JUnit ir TestNG. Aš niekada nebandžiau, tiesiog perskaitykite jį „ Surefire“ papildinio puslapyje:

Nurodykite šį parametrą, kad atliktumėte atskirus testus pagal failo pavadinimą, nepaisydami įtraukimo / neįtraukimo parametrų. Kiekvienas čia nurodytas šablonas bus sukurtas kaip ** / $ {test} .java formatuotas šablonas, todėl galite tiesiog įvesti -Dtest = MyTest, kad atliktumėte vieną testą, vadinamą foo / MyTest. java ". Šis parametras nepaiso parametro „Įtraukti / neįtraukti“ ir „TestNG suiteXmlFiles“ parametrų. pradedant nuo 2.7.3. Bandyme galite atlikti ribotą metodų skaičių, pridėjus #myMethod arba # my * ethod. Si tipas "-Dtest = MyTest # myMethod" yra palaikomas junit 4.x ir testNg

4
13 апр. Wesley Hartford atsakė į 13 balandį. 2011-04-13 20:27 '11, 20:27, 2011-04-13 20:27

Naujos „JUnit“ versijos turi bėgikų kategoriją: http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html

Tačiau „JUnit“ išleidimo procedūra nėra pagrįsta, todėl naudotojai turi rankiniu būdu juos įdėti į savo saugyklas.

3
10 дек. Atsakymą pateikė Andriy Plokhotnyuk . 2009-12-10 17:10 '09 17:10 2009-12-10 17:10

Naudodami teisingą „2.22.1“ versijos versiją (galbūt anksčiau), naudodami testng.xml galite atlikti vieną testą naudodami testų vardų nuosavybę

Atsižvelgiant į šiuos testng.xml

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite"> <test name="all-tests"> <classes> <class name="server.Atest"/> <class name="server.Btest"/> <class name="server.Ctest"/> </classes> </test> <test name="run-A-test"> <classes> <class name="server.Atest"/> </classes> </test> <test name="run-B-test"> <classes> <class name="server.Btest"/> </classes> </test> <test name="run-C-test"> <classes> <class name="server.Ctest"/> </classes> </test> </suite> 

naudojant pom.xml

 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> [...] <properties> <selectedTests>all-tests</selectedTests> </properties> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> <configuration> <suiteXmlFiles> <file>src/test/resources/testng.xml</file> </suiteXmlFiles> <properties> <property> <name>testnames</name> <value>${selectedTests}</value> </property> </properties> </configuration> </plugin> </plugins> [...] </project> 

Iš komandų eilutės

 mvn clean test -DselectedTests=run-B-test 

Tolesnis skaitymas - „ Maven surefire“ įskiepis naudojant testng

1
08 нояб. atsakymas duotas bsk 08 lapkričio. 2018-11-08 04:45 '18 at 4:45 am 2018-11-08 04:45

Bandymo klasėje galite paleisti vieną bandymų klasę, bet ne vieną metodą. Jūs naudojate paprastą klasės pavadinimą, o ne visą klasės pavadinimą. Taigi, jei turite testą „org.sonatype.test.MyTest“, ir tai yra vienintelis testas, kurį norite paleisti, jūsų komandų eilutė atrodys taip:

 mvn test -Dtest=MyTest 
-5
09 дек. Atsakymą pateikė Tim O'Brien, gruodžio 9 d. 2009-12-09 18:36 '09 at 18:36 2009-12-09 18:36

Kiek aš žinau, pasitikėjimo įskiepis to nedaro. Bet nedvejodami atidarykite klausimą :)

-8
09 дек. Atsakymas duotas Pascal Thivent 09 Dec. 2009-12-09 18:14 '09, 18:14, 2009-12-09 18:14

Kiti klausimai apie „ žymes arba Užduoti klausimą