Как TestNG обрабатывает дубликат приоритета методов тестирования в подклассе?
Я создал унаследованные классы testng с дублирующимися приоритетами в супер и подклассах, как показано ниже:
package PriorityExamples;
import org.testng.annotations.Test;
class SuperTestNGClass1
{
@Test(priority=1)
public void apple()
{
System.out.println("apple");
}
@Test(priority=2)
public void cat()
{
System.out.println("cat");
}
}
public class DuplicatePriority extends SuperTestNGClass1{
@Test(priority=1)
public void disp()
{
System.out.println("disp");
}
@Test(priority=2)
public void ball()
{
System.out.println("ball");
}
}
И testng.xml как показано ниже:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test" >
<classes>
<class name="PriorityExamples.DuplicatePriority"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
Когда я бегу, я получаю вывод, как показано ниже:
[RemoteTestNG] detected TestNG version 6.14.2
disp
apple
ball
cat
===============================================
Suite
Total tests run: 4, Failures: 0, Skips: 0
===============================================
Я понимаю, что если есть связь между приоритетом, основанным на порядке словаря, метод будет выполнен. Так что я ожидал, что "яблоко" должно было бежать до "дисп". Я не понимаю, как будет решаться приоритет в случае наследования?