Java TestNg评估程序

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

考虑下面我在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 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)

理想情况下,您应该对每个测试方法使用优先级,以确保顺序执行