📜  在TestNG中排除包含测试用例

📅  最后修改于: 2021-01-11 11:54:31             🧑  作者: Mango

排除/包含测试用例

TestNG提供了启用和禁用测试用例的功能。我们可以禁止执行一组测试用例。例如,考虑一种场景,其中某个功能由于某些测试而发生严重错误,因此我们需要禁止执行测试用例。

在TestNG中,可以通过两种方式禁用测试用例:

  • 您可以在@Test批注中禁用测试用例。
  • 您可以在XML文件中禁用测试用例。

TestNG @Test启用参数

您可以通过在@Test批注中使用enable属性来禁用或排除测试用例,并为enable属性分配False值。

让我们通过一个例子来理解:

package day1;
import org.testng.annotations.Test;

public class module1 
{
    @Test(enabled=false)   
    public void test1()                                          // First test case
    {
        System.out.println("Hello javaTpoint!!");
    }
    
    @Test
    public void test2()                                          // Second test case
    {
        System.out.println("JTP Travels");
    }}

在上面的代码中,我们创建了两个测试用例,即test1()和test2(),并且通过将False值分配给enable属性来禁用第一个测试用例。在禁用第一个测试用例时,将运行唯一的第二个测试用例。

输出量

在上面的输出中,我们观察到只有第二个测试用例可以正常运行。

禁用XML文件中的enable属性。

第一步:到目前为止,我们已经创建了个人贷款部门的测试用例。

module1.java

package day1;
import org.testng.annotations.Test;

public class module1 
{
    @Test
    public void test1()
    {
        System.out.println("Hello javaTpoint!!");
    }
    
    @Test
    public void test2()
    {
        System.out.println("JTP Travels");
    }}

module2.java

package day1;

import org.testng.annotations.Test;

public class module2 
{
 @Test
 public void WebLoginCarLoan()
 {
     System.out.println("WebLoginCarLoan");
 }
 @Test
 public void MobileLoginCarLoan()
 {
     System.out.println("MobileLoginCarLoan");
 }
 @Test
 public void APILoginCarLoan()
 {
     System.out.println("APILoginCarLoan");
 }
 
}

module1.java包含个人贷款的测试用例,而module2.java包含汽车贷款的测试用例。

步骤2:如果要在汽车贷款模块中禁用MobileLoginCarLoan测试用例,则需要在xml文件中添加标记,该标记可以访问类的所有方法。




  
  
  
  
   
  
  
  
  
  
  
  
  
  
 

步骤3:运行testng.xml文件。右键单击testng.xml文件,然后向下移动光标,您将看到“运行方式” ,然后单击1 TestNG Suite

输出量

在上面的输出中,我们观察到除已排除的测试用例“ MobileLoginCarLoan”外,所有测试用例均成功运行。

注意:假设我们有多个测试用例,而您只想包含一个或两个测试用例,在这种情况下,我们使用标签。如果我们使用标记,那么排除所有测试用例将变得非常繁琐。

让我们通过标签的示例来了解。

test.java文件

package day1;

import org.testng.annotations.Test;

public class test 
{
 @Test
 public void test1()
 {
     System.out.println("test1");
 }
 
 @Test
 public void test2()
 {
     System.out.println("test2");
 }
 
 @Test
 public void test3()
 {
     System.out.println("test3");
     
 }
 @Test
 public void test4()
 {
     System.out.println("test3");
 }
}

testng.xml文件




 
 
 
 
 
 
 
 
   
  
 

输出量

在上面的输出中,我们观察到只有一个测试用例正在运行,即test3,因为我们在XML文件的标记中仅包含了test3。