TestNG продолжает выполнять тестклассы, даже если предыдущий класс не выполнился

Почему TestNG продолжает выполнять тест, если один TestCase (Class) не прошел?

Например, testoutput:

1 test passed, 1 test failed.(3599,0 s)
    TestSuite FAILED
        run FAILED: check5=3 Expected: <3> got: <5>
        run passed (1.0s)    // <--- this should not have been executed

почему вообще выполняется второй запуск? мой testngsuite.xml:

<suite name="TestSuite_03">
    <test name="TestCase_17">
        <groups>
            <run><include name="functest"/></run>
        </groups>
        <classes>
            <class name="TestStep_003" desc="will fail" />
            <class name="TestStep_012" desc="will pass" />
        </classes> ...

Я использую Maven, TestNG и Java через NetBeans

моя структура:

public abstract class TestCommon
{
    @BeforeSuite(groups={"functest})
    public void BeforeSuite()
    {
        // clean report folder
    }
    @BeforeTest(groups={"functest})
    public void BeforeTest()
    {
        // start selenium browser
    }
    @AfterMethod(groups={"functest})
    public void AfterMethod()
    {
        // check for failure and capture screenshot
    }
    @AfterTest(groups={"functest})
    public void AfterTest()
    {
        // close browser
    }
}


public class TestStep_003 extends TestCommon
{
    @Test(groups = {functest})
    public void run()
    {
        assertThat(5, Matchers.equalTo(3)); // will fail
    }
}
public class TestStep_012 extends TestCommon
{
    @Test(groups = {functest})
    public void run()
    {
        assertThat(5, Matchers.equalTo(5)); // will pass
    }
}
5
задан Community 27 November 2019 в 08:39
поделиться