软件测试实习0624-testNG组测试

testNG组测试

  在testNG中组测试是一个新的创新功能,它不存在于Junit框架,它允许调度到适当的部分方法和瓶坯复杂的测试方法分组。您不仅可以声明属于群体的那些方法,但你也可以指定一组包含其他组。然后testNG可调用和要求一组特定的群体(或正则表达式),而排出另外一个集合。这给了你最大的灵活性,如何区分测试,如果想运行两套不同的测试背景,不要求重新编译任何东西。

组指定testng.xml/文件使用标签。它可以发现无论是根据标签。组指定标签使用于所有的标签下方

创建一个类MessageUtil.java 

package hello;

/*
* This class prints the given message on console.
*/
public class MessageUtil {
    private String message;

    // Constructor
    // @param message to be printed
    public MessageUtil(String message) {
    	this.message = message;
    }

    // prints the message
    public String printMessage() {
    	System.out.println(message);
    	return message;
    }

    // add "totorialspoint!" to the message
    public String salutationMessage() {
    	message = "Hi!" + message;
    	System.out.println(message);
    	return message;
    }
    
    //add "www." to the message
    public String exitMessage(){
    	message = "www." + message;
    	System.out.println(message);
    	return message;
    }

创建测试方案类

创建一个Java测试类为GroupTestExample.java

测试类添加测试方法testPrintMessage()testSalutation().

组测试方法两个类别为:

检入登记测试(checkintest):提交新的代码之前,你应该运行这些测试。他们通常要快,只要确保没有被打破的基本功能

功能测试(functest):这些测试应该涵盖软件的所有功能,每天至少运行一次,虽然理想情况下,会希望他们不断运行

创建Java类名GroupTestExample.java
package group;

import org.testng.Assert;
import org.testng.annotations.Test;

public class GroupTestExample {
    String message = ".com";
    MessageUtil messageUtil = new MessageUtil(message);

    @Test(groups = { "functest", "checkintest" })
    public void testPrintMessage() {
        System.out.println("Inside testPrintMessage()");
        message = ".com";
        Assert.assertEquals(message, messageUtil.printMessage());
    }

    @Test(groups = { "checkintest" })
    public void testSalutationMessage() {
        System.out.println("Inside testSalutationMessage()");
        message = "tutorialspoint" + ".com";
        Assert.assertEquals(message, messageUtil.salutationMessage());
    }

    @Test(groups = { "functest" })
    public void testingExitMessage() {
        System.out.println("Inside testExitMessage()");
        message = "www." + "tutorialspoint"+".com";
        Assert.assertEquals(message, messageUtil.exitMessage());
    }
}
创建testng.xml



    
        
	    	
				
	    	
		
	
	    
	
    
测试结果

软件测试实习0624-testNG组测试_第1张图片

我们可以看到testPrintMessage()testSalutationMessage()testingExitMessage()只有testPrintMessage()testingExitMessage()这两个测试函数被运行了。因为没有运行testSalutationMessage()导致第三个运行出来的测试不成功


组中组

组中可以包含其他组。这些组称为MetaGroup。例如你希望定义一个组中的所有,包括checkintestfunctest

修改testng.xml文件



   
      
         
	    
	    
	 
	 
	    
	 
   	 
	 
	      
	
   
测试结果
软件测试实习0624-testNG组测试_第2张图片

排斥组

可以忽略一个组的时候使用标签




   
      
	 	
	    	
	    	
	 	
   	 
	 
	      
	
   


测试结果
软件测试实习0624-testNG组测试_第3张图片

我们可以看到三个测试函数中,只有第二个被测试,其它了两个函数都包含functest,不予测试




你可能感兴趣的:(软件测试,网易实习)