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!