Uruchamianie zależnych i niezależnych metod testowych w oczekiwanej kolejności

Chcę kolejno wykonywać metody testowe. Użyłem klas w testng.xml z ustawieniem preserve-order na true.

<test name="group-test" preserve-order="true" >
    <classes>
        <class name="com.dependency.ClassA">
            <methods>
                <include name="create"/>
                <include name="enter"/>
                <include name="delete"/>
            </methods>
        </class>
    </classes>
</test>

a moja klasa testowa jest

public class ClassA {


@Test()
public void Create() throws Exception
{
    System.out.println("in method create");

}   
@Test(dependsOnMethods= "Create")
public void Enter() throws Exception
{
    System.out.println("in method Enter");

}
@Test()
public void delete() throws Exception
{
    System.out.println("in method delete");

}

Po wykonaniu testu moje wyjście jest
w metodzie tworzenia,
w metodzie delete,
w metodzie enter

Ale chcę najpierw wykonać „utwórz”, a następnie „wprowadzić”, a następnie „usunąć”. Tutaj delete jest niezależną metodą testową.

Czytałem napytanie grupy google gdzie Cedric Beust wspomina, że ​​możesz użyć zależnościLUB jawnie włącz metody testowania w testng.xml. Nie rozumiem, dlaczego to jest egzekwowanie? Co zrobić, jeśli chcę wykonać niezależne i zależne metody testowe w dowolnej kolejności? Zauważyłem, że najpierw wykonywane są niezależne metody, a następnie metody zależne.


Idealnie zależność nie powinna polegać na zachowaniu porządku, ale na pominięciu testu, jeśli poprzednia metoda zawodzi. Rodzaj egzekwowania TestNG powoduje wiele problemów!

questionAnswers(1)

yourAnswerToTheQuestion