Java TestNg评估程序
考虑下面我在testng中尝试的两个代码,outuput是不同的,我不明白为什么它先执行某个tc,然后执行另一个,testng如何决定先运行哪个tc 代码1:Java TestNg评估程序,java,testng,Java,Testng,考虑下面我在testng中尝试的两个代码,outuput是不同的,我不明白为什么它先执行某个tc,然后执行另一个,testng如何决定先运行哪个tc 代码1: package test; import org.testng.annotations.Test; public class day1 { @Test public void a() { System.out.println("1"); } @Test public v
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void a()
{
System.out.println("1");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void b()
{
System.out.println("2");
}
@Test(dependsOnMethods = { "c" })
public void d()
{
System.out.println("4");
}
@Test
public void k()
{
System.out.println("k");
}
@Test
public void e()
{
System.out.println("e");
}
}
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void b()
{
System.out.println("1");
}
@Test
public void f()
{
System.out.println("2");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void d()
{
System.out.println("4");
}
@Test
public void e()
{
System.out.println("5");
}
@Test(dependsOnMethods = { "e" })
public void a()
{
System.out.println("6");
}
@Test
public void g()
{
System.out.println("g");
}
}
输出:
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void a()
{
System.out.println("1");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void b()
{
System.out.println("2");
}
@Test(dependsOnMethods = { "c" })
public void d()
{
System.out.println("4");
}
@Test
public void k()
{
System.out.println("k");
}
@Test
public void e()
{
System.out.println("e");
}
}
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void b()
{
System.out.println("1");
}
@Test
public void f()
{
System.out.println("2");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void d()
{
System.out.println("4");
}
@Test
public void e()
{
System.out.println("5");
}
@Test(dependsOnMethods = { "e" })
public void a()
{
System.out.println("6");
}
@Test
public void g()
{
System.out.println("g");
}
}
3 e k 1 2 4
代码2:
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void a()
{
System.out.println("1");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void b()
{
System.out.println("2");
}
@Test(dependsOnMethods = { "c" })
public void d()
{
System.out.println("4");
}
@Test
public void k()
{
System.out.println("k");
}
@Test
public void e()
{
System.out.println("e");
}
}
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void b()
{
System.out.println("1");
}
@Test
public void f()
{
System.out.println("2");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void d()
{
System.out.println("4");
}
@Test
public void e()
{
System.out.println("5");
}
@Test(dependsOnMethods = { "e" })
public void a()
{
System.out.println("6");
}
@Test
public void g()
{
System.out.println("g");
}
}
输出:
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void a()
{
System.out.println("1");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void b()
{
System.out.println("2");
}
@Test(dependsOnMethods = { "c" })
public void d()
{
System.out.println("4");
}
@Test
public void k()
{
System.out.println("k");
}
@Test
public void e()
{
System.out.println("e");
}
}
package test;
import org.testng.annotations.Test;
public class day1 {
@Test
public void b()
{
System.out.println("1");
}
@Test
public void f()
{
System.out.println("2");
}
@Test
public void c()
{
System.out.println("3");
}
@Test
public void d()
{
System.out.println("4");
}
@Test
public void e()
{
System.out.println("5");
}
@Test(dependsOnMethods = { "e" })
public void a()
{
System.out.println("6");
}
@Test
public void g()
{
System.out.println("g");
}
}
一,
三,
四,
五,
二,
g
六,
e
当您在testNG中未指定
优先级时,它会根据其内部逻辑决定优先级,该逻辑基于其方法名称的字母顺序,而不考虑它们在代码中的实现位置。
此外,如果测试方法(1)依赖于其他测试方法(2),则仅当测试方法(1)通过时,才会执行测试方法(2)
理想情况下,您应该对每个测试方法使用优先级,以确保顺序执行