不管@Test是否带有“ alwaysRun = true”,无论其属于哪个方法或组,都应该运行吗?

问题描述

我有一个简单的类,包含3种方法。我正在使用下面编写的testng.xml文件运行测试。当我运行测试时,我得到测试1,测试2。 我还期望看到Test 3,因为Test3设置为“ alwaysRun = true”,这将使测试始终运行,而不管方法或组如何 它属于“。那么为什么结果不显示Test 3?

预先感谢

package Package1;

import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;


public class TestNGTesting 
{


 @BeforeTest(alwaysRun=true)
 public void Test1() 
{
    System.out.println("Test 1");
}

@Test(groups= {"MyGroup1"})
public void Test2() 
{
    System.out.println("Test 2");
}




 @Test(alwaysRun=true)
 public void Test3() 
{
    System.out.println("Test 8");
}     

}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYstem "https://testng.org/testng-1.0.dtd">
<suite name="Suite"> 
 <test name="Test1">
<groups>
<run>
<include name="MyGroup1"/>
</run>
</groups> 
    <classes>
     <class name="Package1.TestNGTesting"/>
  </classes>
 </test> <!-- Test -->    
</suite> <!-- Suite -->

解决方法

也请在测试3中添加一个组。

@Test(alwaysRun = true,groups = { "MyGroup1" }) public void Test3() { System.out.println("Test 8"); }

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...