java - retentionpolicy - ¿Cómo funcionan todas las anotaciones en TestNg sin el método main()?
reflection en java (2)
para ejecutar script desde el prompt cmd, usamos la declaración siguiente,
java org.testng.TestNG testng1.xml
método principal en la clase TestNG.java cómo aceptar el argumento de la línea de comando,
public static void main(String[] argv) {
TestNG testng = privateMain(argv, null);
System.exit(testng.getStatus());
}
Tengo una duda en TestNG con Java. Soy completamente nuevo en TestNG. Mi duda es, ¿cómo se ejecutan todos los casos de prueba utilizando TestNG en Java sin tener el método main ()? Por favor sugiérame si tienes alguna idea. El siguiente código es el ejemplo de un caso de prueba de muestra que usa TestNG en java. Pero si lo nota, puede encontrar una cosa que no hay un método main () en el código. Entonces, ¿cómo se están ejecutando los testcase?
Tengo otra duda. ¿Es necesario el método main () para que la combinación de Selinium Webdriver y TestNG ejecute una secuencia de comandos? ¿O podemos ejecutar testcases sin el método main ()? Si podemos ejecutar testcases sin main (), entonces, ¿cómo es posible?
package com.first.example;
import org.testng.annotations.Test;
public class demoOne {
@Test
public void firstTestCase()
{
System.out.println("im in first test case from demoOne Class");
}
@Test
public void secondTestCase()
{
System.out.println("im in second test case from demoOne Class");
}
}
Esta es una duda válida que tienen muchos probadores. Debido a que el método main () es necesario para ejecutar el programa Java y al escribir pruebas en TestNg, no usamos el método main (), y usamos Anotaciones en su lugar.
Las anotaciones en TestNG son líneas de código que pueden controlar cómo se ejecutará el método debajo de ellos. Entonces, en resumen, no necesita escribir el método main (), TestNg lo hace por sí mismo. Consulte el código al final en la documentación de Anotaciones para tener una idea de cómo sucede.
Como se señaló correctamente en esta respuesta: https://.com/a/1918154/3619412
Las anotaciones son meta metaobjetos que se pueden usar para describir otros metaobjetos. Los meta-objetos son clases, campos y métodos. Pedir un objeto para su metaobjeto (por ejemplo, anObj.getClass ()) se llama introspección. La introspección puede ir más allá y podemos preguntarle a un metaobjeto cuáles son sus anotaciones (por ejemplo, aClass.getAnnotations). La introspección y las anotaciones pertenecen a lo que se llama reflexión y metaprogramación.
Además, no es necesario tener el método main () en sus pruebas, pero puede usar el método main () para ejecutar las pruebas TestNg si lo desea. Referir esto .