2016-11-24 3 views
0

Сreated методы:TestNG Последовательное выполнение тестовых групп

@BeforeGroups(groups = {"INdependent"}) 
@BeforeGroups(groups = {"dependent"}) 
@Test (groups = {"INdependent"}) 
@Test (groups = {"dependent"}, dependsOnGroups = {"INdependent"}) 
@AfterMethod(groups = {"INdependent"}) 
@AfterMethod(groups = {"dependent"}) 
@AfterGroups(groups = {"INdependent"}) 
@AfterGroups(groups = {"dependent"}) 

Ожидаемое:

- BeforeGroups = "INdependent" 
- Test = "INdependent" 
- AfterMethod = "INdependent" 
- AfterGroups = "INdependent" 
- BeforeGroups = "dependent" 
- Test = "dependent" 
- AfterMethod = "dependent" 
- AfterGroups = "dependent" 

Актуальные:

- BeforeGroups = "INdependent" 
- Test = "INdependent" 
- AfterMethod = "dependent"  (этого тут быть не должно) 
- AfterMethod = "INdependent" 
- AfterGroups = "INdependent" 
- BeforeGroups = "dependent" 
- Test = "dependent" 
- AfterMethod = "dependent" 
- AfterMethod = "INdependent" (этого тут быть не должно) 
- AfterGroups = "dependent" 

Что я делаю неправильно?

testng.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Default Suite"> 
    <test name="mts-sorm3-extractor-tests"> 
    <groups> 
     <run> 
      <include name="independent"/> 
      <include name="dependent"/> 
     </run> 
    </groups> 
    <classes> 
     <class name="ru.mts.sorm.mts_sorm3_extractor_tests.Sorm3ExtractDictTest"/> 
    </classes> 
    </test> <!-- mts-sorm3-extractor-tests --> 
</suite> <!-- Custom suite --> 

ответ

0

Группы используются для выбора тестов. Когда вы попросите independent и dependent групп, то все будут запущены методы с одной из этих двух групп.

Именно поэтому @AfterMethod(groups = {"INdependent"}) и @AfterMethod(groups = {"dependent"}) вызываются для всех методов испытаний этого класса.

Хорошим решением будет переезд independent тест в классе и dependent в другом классе.

Смежные вопросы