TestNG test parametrizados


Hay dos maneras, parametrizando en la clase(@DataProvider) o ejecutando un suite(testng.xml)

Parametrizando en la clase @DataProvider

@ContextConfiguration(locations = { "classpath:spring-test.xml", "classpath:spring/spring-client.xml" })
public class ConsultaIdentidadEnPaxaseTest extends AbstractTestNGSpringContextTests {

	@DataProvider(name = "ficheros")
	public Object[][] consultarIdentidad_peticionProvider() {
		return new Object[][]{
				{String.class, new String("src/test/resources/peticiones/Peticion1.xml")}, 
				{String.class, new String("src/test/resources/peticiones/Peticion2.xml")}, 
		};
	}

	@Test(dataProvider = "ficheros")
	public void consultarIdentidad_peticion(Class<?> clzz, String fichero) {
		consultarIdentidad_peticion(fichero);
	}
}

Ejecutando un fichero

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="cliente_consultaIdentidad" preserve-order="true">

	<test name="cliente_Peticion1">
		<parameter name="fichero" value="src/test/resources/peticiones/Peticion1.xml" />
		<classes>
			<class name="es.una.ruta.services.spi.ConsultaIdentidadEnPaxaseTest"></class>
		</classes>
	</test>
	
	<test name="cliente_Peticion2">
		<parameter name="fichero" value="src/test/resources/peticiones/Peticion2.xml" />
		<classes>
			<class name="es.una.ruta.services.spi.ConsultaIdentidadEnPaxaseTest"></class>
		</classes>
	</test>

</suite>
@ContextConfiguration(locations = { "classpath:spring-test.xml", "classpath:spring/spring-client.xml" })
public class ConsultaIdentidadEnPaxaseTest extends AbstractTestNGSpringContextTests {

	@Autowired  
	@Qualifier("clientCI")
	private es.una.ruta.services.ConsultaIdentidad clientCI;

	@Parameters({ "fichero" })
	@Test
	public void consultarIdentidad_peticion(String fichero){
		try {
			String peticion = getPeticion(fichero);
			String respuesta = clientCI.consultar(peticion);
			System.out.println(respuesta);
			assertNotNull("Respuesta null", respuesta);
		} catch (Exception e) {
			assertTrue(false, fichero + ": " +e.getMessage());
		}
	}

	private String getPeticion(String path){
		String peticion = null;
		try {
			File file = new File(path);
			peticion = FileUtils.readFileToString(file, "UTF-8");
			System.out.println(peticion);
		} catch (Exception e) {
			e.printStackTrace();
		} 

		return peticion;
	}

}
	<build>
		<plugins>
			<plugin>
				<!-- mvn test -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<suiteXmlFiles>
						<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
					</suiteXmlFiles>
				</configuration>
			</plugin>
		</plugins>
	</build>
Anuncios
TestNG test parametrizados