不应该 @Test 与“alwaysRun=true”运行,而不管它属于啥方法或组”?

Posted

技术标签:

【中文标题】不应该 @Test 与“alwaysRun=true”运行,而不管它属于啥方法或组”?【英文标题】:Shouldn't @Test with "alwaysRun=true" run irrespective of methods or groups it belongs to"?不应该 @Test 与“alwaysRun=true”运行,而不管它属于什么方法或组”? 【发布时间】:2020-12-06 18:35:47 【问题描述】:

我有一个简单的类,有 3 个方法。我正在使用下面编写的 testng.xml 文件运行测试。当我运行测试时,我得到测试 1,结果中的测试 2。 我也期待看到测试 3,因为 Test3 设置为“alwaysRun=true”,这应该使测试始终运行,而不管方法或组如何 它属于”。那么为什么结果不显示测试 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 -->

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于不应该 @Test 与“alwaysRun=true”运行,而不管它属于啥方法或组”?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中查找与通配符字符串匹配的文件?

VBA修剪留下领先的空白

Jenkins 中带有 Maven Release 插件的 Clearcase 它应该如何工作?

1:Unit test and main function-Java API 实战

laravel 事件应该广播不起作用

如何将 PHPUnit 与 Zend 框架一起使用?