Я пытаюсь использовать группу для запуска подмножества тестов, относящихся к тому, над чем я работаю, под названием «текущий». Проблема в том, что если я использую суперкласс для некоторой настройки в @BeforeMethod, метод запускается, когда я запускаю все тесты, но не запускается, когда я запускаю только указанную группу «текущая».
Поэтому, когда я запускаю все тесты, emptyTest терпит неудачу, потому что вызывается @BeforeMethod, когда только запущена группа current, метод не вызывается. Примечание. Если я добавлю @Test(groups = {"current"}) в подкласс, то он запустится, однако он также запустит все подклассы, не помеченные "current", что противоречит цели "current" группы. .
Если есть лучший способ добиться такого поведения, я открыт для всех решений.
Спасибо, Рэнсом
Суперкласс:
public class TestNGSuperclass {
@BeforeMethod
public void failingToShowThatItIsNotRun() {
Assert.fail();
}
}
Подкласс:
@Test(groups = {"current"})
public class TestNGCurrentGroup extends TestNGSuperclass {
public void emptyTest() {}
}
Конфигурация TestNG:
<test name="current">
<groups>
<run>
<include name="current"/>
</run>
</groups>
<packages>
<package name="uiowa.wf.test.*"/>
</packages>
</test>
<test name="all-tests">
<packages>
<package name="uiowa.wf.test.*"/>
</packages>
</test>