不管@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