我在super和sub class中创建了重复优先级的继承的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
===============================================
据我所知,如果优先级之间存在联系,则根据字典顺序执行方法。所以我期待&#34; apple&#34;应该在&#34; disp&#34;之前运行。我没有得到逻辑如何在继承的情况下决定优先级?