#java #methods #testng
#java #методы #testng
Вопрос:
У меня есть следующий класс Java TestNG:
public class TestSequence {
@BeforeTest
public void initialize() {
System.out.println("Inside initialize...............");
}
@Test(groups = { "group1", "group2" })
public void commonCase() throws Exception {
System.out.println("Inside commonCase...............");
}
@Test(groups = { "group1"}, dependsOnMethods = { "commonCase" })
public void group1A() throws Exception {
System.out.println("Inside group1A...............");
}
@Test(groups = { "group1"}, dependsOnMethods = { "group1A" })
public void group1B() throws Exception {
System.out.println("Inside group1B...............");
}
@Test(groups = { "group1"}, dependsOnMethods = { "group1B" })
public void group1C() throws Exception {
System.out.println("Inside group1C...............");
}
@Test(groups = { "group1"}, dependsOnMethods = { "group1C" })
public void group1D() throws Exception {
System.out.println("Inside group1D...............");
}
@Test(groups = { "group2"}, dependsOnMethods = { "commonCase" })
public void group2A() throws Exception {
System.out.println("Inside group2A...............");
}
@Test(groups = { "group2"}, dependsOnMethods = { "group2A" })
public void group2B() throws Exception {
System.out.println("Inside group2B...............");
}
@Test(groups = { "group2"}, dependsOnMethods = { "group2B" })
public void group2C() throws Exception {
System.out.println("Inside group2C...............");
}
@Test(groups = { "group2"}, dependsOnMethods = { "group2C" })
public void group2D() throws Exception {
System.out.println("Inside group2D...............");
}
}
Вот testng.xml что у меня есть:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
<test name="Test">
<classes>
<class name="TestSequence">
<methods>
<include name="group1*"/>
<exclude name="group2*"/>
</methods>
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
Я запускаю автоматизацию тестирования из командной строки следующим образом:
java -cp C:TestProjectlib*;C:TestProjectbin org.testng.TestNG testng.xml
Результат, который я получаю, выглядит следующим образом:
Inside initialize...............
Inside commonCase...............
Inside group1A...............
Inside group2A...............
Inside group1B...............
Inside group2B...............
Inside group1C...............
Inside group2C...............
Inside group1D...............
Inside group2D...............
Почему тестовые случаи group2 не исключены, несмотря на исключение, указанное в testng.xml ?
Большое спасибо за ваш ответ.
Ответ №1:
Как говорится в документации:
Примечание: TestNG использует регулярные выражения, а не подстановочные знаки. Имейте в виду разницу (например, «что угодно» соответствует «.» — точечная звезда — а не ««).
Итак, попробуйте изменить:
<methods>
<include name="group1*"/>
<exclude name="group2*"/>
</methods>
Автор::
<methods>
<include name="group1.*"/>
<exclude name="group2.*"/>
</methods>