java - TestNg 评估程序
问题描述
考虑我在 testng 中尝试的以下两个代码,输出是不同的,我不明白为什么它首先执行某些 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");
}
}
输出:
3 克 1 2 4
代码 2:
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");
}
}
输出 :
1
3
4
5
2
G
6
e
解决方案
当您未priority
在 testNG 中指定时,它会根据其方法名称的字母顺序决定其内部逻辑的优先级,而与它们在代码中的实现位置无关。此外,如果一个测试方法(1) 依赖于其他测试方法(2),那么只有在测试方法(1) 通过时才会执行测试方法(2)。
理想情况下,您应该对每个测试方法使用优先级以确保顺序执行。
推荐阅读
- java - java的循环快捷方式?
- ms-access - TextBox.SelStart 为鼠标和键盘提供不同的值
- oracle - 在具有列集合的表上触发 PLSQL
- javascript - 未捕获的类型错误:无法设置未定义的属性“可见性”
- jaxb - Karaf,ServiceMix 奇怪的 instanceof 行为
- java - 当我有 HTTP 代理时,如何通过带有 paho 的 websocket 发送 MQTT?(java客户端)
- angular - 延迟加载后没有任何输出显示
- javascript - 如何将变量从一个 HTML 窗口传递到 Electron 中的另一个?
- python-3.x - def lastLetters(words) eof 错误来自我的代码之外
- android - 如何使用 firebase 数据获取 recyclerView 中的项目数?