spock interview questions with answers
Limpie su entrevista de Spock con éxito con esta lista de preguntas de la entrevista de Spock:
En esto Tutoriales de Spock para todos , exploramos todo sobre Integración y pruebas funcionales en Spock en nuestro tutorial anterior.
Este tutorial cubrirá las preguntas de entrevistas más frecuentes sobre el marco de Spock.
También intentaremos comprender los métodos de fijación de Spock y el soporte de extensiones integradas que hacen de Spock una herramienta realmente poderosa para muchos tipos de prueba como Unidad, Integración y de extremo a extremo.
Preguntas más populares de la entrevista de Spock
A continuación se enumeran algunas de las preguntas de entrevista de Spock más frecuentes con respuestas y ejemplos.
¡¡Vamos a explorar!!
P # 1) ¿Puede una prueba de Spock tener múltiples bloques when y then?
Responder: Por lo general, se recomienda realizar pequeñas pruebas o escenarios, ya que intentar hacer muchas cosas en una sola prueba puede ser un olor a código. Habiendo dicho eso, es perfectamente válido tener múltiples bloques when y luego en una prueba. La prueba se considerará exitosa solo cuando todos los bloques estén en estado de aprobación.
Veamos un ejemplo para ilustrar esto:
|_+_|En el bloque de código anterior, puede ver que tenemos 2 bloques when y then.
la mejor herramienta de limpieza para pc
Tenga en cuenta los puntos siguientes:
- Los bloques se ejecutan en el orden de aparición, es decir, secuencialmente.
- La falla de cualquiera que luego bloquee dará lugar a que la prueba falle.
- Las afirmaciones en todos los bloques de entonces deben pasar para que la prueba general tenga éxito.
P # 2) ¿Cuáles son todos los métodos de fijación disponibles en Spock?
Responder: Los métodos de fijación son como devoluciones de llamada que se invocan cuando se activa un gancho de evento en particular.
Spock proporcionó 4 dispositivos de prueba que se activan contra diferentes eventos:
- setupSpec - Se ejecuta una vez antes de que comience la ejecución completa del archivo Spec.
- cleanupSpec - Se ejecuta una vez cuando se ejecutan todas las pruebas en el archivo de especificaciones dado
- configuración - Se ejecuta una vez antes de cada prueba en la especificación.
- limpiar - Se ejecuta una vez después de cada prueba en la especificación.
Veamos una muestra de código para ilustrar los métodos de fijación:
|_+_|A continuación se muestra el resultado del ejemplo de código anterior:
en especificaciones de configuración!
en configuración!
**** prueba spec1 ****
en limpieza!
en configuración!
**** prueba spec2 ****
en limpieza!
en especificaciones de limpieza!
Como se muestra arriba, puede notar que las especificaciones de configuración y limpieza se llaman solo una vez para toda la especificación y que los pasos / accesorios de configuración y limpieza se llaman una vez por prueba.
P # 3) ¿Se pueden usar las pruebas de Spock para probar servicios basados en REST?
Responder: Sí, el marco Spock se puede usar para crear E2E o pruebas de integración para servicios de descanso implementados usando bibliotecas Java comunes como la plantilla Rest, etc. (Además, tenga en cuenta que Spock también se puede usar para ejecutar pruebas para aplicaciones basadas en Spring Boot, así como con otros frameworks como Selenio ).
Veamos esto con un ejemplo simple que usa la clase RestTemplate de Spring y realiza una operación de obtención en una API alojada pública y verifica que la respuesta no sea nula.
Ejemplo:
|_+_|En el ejemplo anterior, puede hacer referencia a la especificación de Spock que se está utilizando para afirmar la respuesta de una API pública.
P # 4) ¿Cuáles son las limitaciones del marco de Spock?
Responder: Aunque la curva de aprendizaje del framework Spock no es tan empinada como fácil de aprender, su sintaxis declarativa lo hace muy legible.
Mientras tanto, hay algunos puntos que podrían considerarse:
- Para aplicaciones en la base de código Java, el uso de Spock dará como resultado la adición de una nueva pila de idiomas, es decir, Groovy.
- Las pruebas de Spock se ejecutan un poco más lento que las pruebas nativas de JUnit.
- El soporte de IDE para Spock no es tan bueno como para otros marcos como JUnit.
A pesar de todos los puntos anteriores, aún así, las ventajas del marco Spock superan la pequeña lista de desventajas que tiene Spock.
P # 5) Explique algunas de las extensiones integradas del marco Spock.
Responder: Spock proporciona una gran cantidad de extensiones / ganchos / activadores integrados que en su mayoría están basados en anotaciones (vimos un par de ellos en la sección / pregunta de accesorios de prueba).
Veamos algunos de los debates integrados con ejemplos:
@Ignorar: Para evitar que se ejecute una función (o método individual). Para usar el método de decoración simple (método de prueba individual) o una especificación completa, esto asegurará que el método o la clase anotados no se ejecuten.
|_+_|@IgnoreRest: Esta anotación es útil cuando solo desea seleccionar uno y ejecutar el resto de los métodos de la Especificación dada.
|_+_|Como se ve en el ejemplo anterior, el método anotado con @IgnoreRest se ejecutará y el resto de las pruebas se ignorarán.
@IgnoreIf: Esta anotación es un ignorar condicional.
Por ejemplo: Si no desea ejecutar algunas pruebas en Mac OS, puede usar una combinación de @IgnoreIf con System.getProperty ('os.name') que asegurará que las pruebas se ejecutarán solo si se encuentra el sistema operativo correspondiente. .
Intentemos comprender esto con el siguiente ejemplo de código:
|_+_|En el ejemplo de código anterior, usamos la anotación @IgnoreIf con una condición en System.getProperty que buscará 'Mac' en el valor de la propiedad y lo ignorará solo si la coincidencia de la condición es exitosa.
Veamos una extensión más aquí, es decir @Se acabó el tiempo: Esto ayuda a mencionar un valor de tiempo de espera en la unidad de su elección para la prueba en ejecución y si se supera el umbral de tiempo de espera, la prueba generará una excepción.
Otro punto importante a tener en cuenta aquí es que la anotación @Timeout también se puede mencionar sobre la especificación completa y esto combinará la duración de todas las pruebas individuales y generará una excepción en caso de incumplimiento del umbral.
|_+_|En el código anterior, si el tiempo de ejecución total de la especificación supera los 10 ms, la ejecución del escenario fallará. Puede ver la salida con detalles del error en la consola de errores.
preguntas y respuestas de la entrevista de aseguramiento de la calidad
De manera similar a las extensiones mencionadas anteriormente, hay un par de otras extensiones integradas como:
@Requiere: Lo que requiere una condición específica para ser cierta.
@Asunto: Para vincular cualquier defecto asociado con el caso de prueba, etc.
Estas extensiones agregan mucha flexibilidad y potencia a las especificaciones de Spock y brindan mucho control para la ejecución de la prueba.
Conclusión
Por lo tanto, hemos cubierto las preguntas de la entrevista de Spock más populares aquí en este tutorial. La curva de aprendizaje de Spock es baja debido al hecho de que el lenguaje groovy sigue un estilo de programación declarativo y es muy legible.
Aunque es relativamente nuevo, Spock está ganando popularidad como marco de elección para escribir diferentes tipos de pruebas en Java o aplicaciones basadas en Groovy.
Espero que hayas disfrutado de todos los tutoriales informativos de esta serie Spock. De hecho, estamos seguros de que estos tutoriales habrían enriquecido su conocimiento y comprensión de Spock.
PREV Tutorial | PRIMER Tutorial
Lectura recomendada
- Escribir pruebas unitarias con Spock Framework
- Spock para pruebas funcionales y de integración con selenio
- Spock Mocking and Stubbing (ejemplos con tutoriales en video)
- Pruebas controladas por datos o parametrizadas con Spock Framework
- Tutorial de Spock: Prueba con Spock y Groovy
- Preguntas y respuestas de la entrevista
- Preguntas y respuestas de la entrevista de prueba ETL
- Las 20 preguntas y respuestas más populares de la entrevista de TestNG