Angular 2Mocking @ ngrx / Tienda


Introducción

@ ngrx / Store se está utilizando cada vez más en los proyectos de Angular 2. Como tal, se requiere que la Tienda se inyecte en el constructor de cualquier Componente o Servicio que desee usarla. Pruebas unitarias La tienda no es tan fácil como probar un servicio simple. Al igual que con muchos problemas, hay una gran variedad de formas de implementar soluciones. Sin embargo, la receta básica es escribir una clase simulada para la interfaz Observer y escribir una clase simulada para Tienda. Luego puedes inyectar Store como proveedor en tu TestBed.

Parámetros

nombre descripción
valor siguiente valor a observar
error descripción
errar error de ser lanzado
súper descripción
acción $ observador simulado que no hace nada a menos que esté definido para hacerlo en la clase simulada
acciónReductor $ observador simulado que no hace nada a menos que esté definido para hacerlo en la clase simulada
obs $ simulacro observable

Observaciones

El observador es un genérico, pero debe ser de any tipo para evitar la complejidad de las pruebas unitarias. La razón de esta complejidad, es que el constructor de la Tienda espera argumentos de observador con diferentes tipos genéricos. El uso de any evita esta complicación.

Es posible pasar valores nulos al súper constructor de StoreMock, pero esto restringe el número de aserciones que se pueden usar para probar a la clase en el futuro.

El Componente que se usa en este ejemplo solo se usa como contexto para la forma en que uno podría inyectar la Tienda como un suministro en la configuración de la prueba.

Mocking @ ngrx / Tienda Ejemplos relacionados