TestNG DataProvider prueba paramétrica de

Cuando la necesidad de pruebas paramétrico TestNG, @Parameters se puede utilizar para pasar parámetros y anotaciones @DataProvider. Este artículo describe el uso de @DataProvider.


En primer lugar definir un DataProvider, designado por el atributo de nombre para los datos de prueba;

Entonces Object [] [] (el número de datos es explícitamente prueba) devuelve los datos de prueba de los parámetros de configuración;

Los datos de prueba especificados último método de ensayo de la propiedad dataProvider nombre, los datos de prueba y método secuencial parámetro de correspondencia.

Por ejemplo:

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class DataProviderTest {
	
	@Test(dataProvider = "data")
	public void dataProviderTest(String name, int age, String hobby) {
		System.out.println(name + " " + age + " " + hobby);
	}
	
	@DataProvider(name = "data")
	Object[][] getData(){
		return new Object[][] {
			{"June", 22, "Sing"},
			{"Jack", 22, "Football"},
			{"Duke", 22, "Chess"}
		};
	}
}

Resultados del ensayo:

June 22 Sing
Jack 22 Football
Duke 22 Chess

Además, el método de ensayo puede estar configurado como un parámetro en el método de datos de prueba para diferentes estructuras de datos diferentes métodos de ensayo, por ejemplo como sigue:

import java.lang.reflect.Method;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class DataProviderTest {
		
	@Test(dataProvider = "methodData")
	public void dataTest1(String name, int age, String hobby) {
		System.out.println(name + " " + age + " " + hobby);
	}
	
	@Test(dataProvider = "methodData")
	public void dataTest2(String name, int age, String hobby) {
		System.out.println(name + " " + age + " " + hobby);
	}
	
	@DataProvider(name = "methodData")
	Object[][] methodDataProvider(Method method){
		Object[][] data = null;
		String methodName = method.getName();
		if (methodName.equals("dataTest1")) {
			data = new Object[][] {
				{"Rose", 33, "Dance"}
			};
		}
		else if (methodName.equals("dataTest2")) {
			data = new Object[][] {
				{"Tom", 6, "Tennis"}
			};
		}
		return data;
	}
}

Resultados del ensayo:

Rose 33 Dance
Tom 6 Tennis

 

Publicado 37 artículos originales · ganado elogios 47 · Vistas de 100.000 +

Supongo que te gusta

Origin blog.csdn.net/u013378642/article/details/97011773
Recomendado
Clasificación