angularjs - tutorial - run unit test angular
¿Hay algún problema al utilizar material angular con el transportador para las pruebas E2E? (2)
He estado experimentando los tiempos de espera intermitentes a los que se culpa en las preguntas frecuentes de los transportadores sobre el uso de $ timeout para el sondeo (AKA: el tiempo de espera de waitForAngular). Me pregunto si falla también en los casos en que no se está encuestando. Para mi equipo, se aclara más a medida que confiamos en los componentes de material angular. Son fuertes en las interacciones de animación con el uso constante de $ timeout (func, 0). Esta pregunta es similar al número 29966301 , pero se enfoca en un posible problema entre el Material Angular y el Transportador. Estoy realmente interesado en saber cómo las personas que utilizan en gran medida el Material Angular y el Transportador tratan estos problemas si se encuentran con ellos.
El punto interesante es que no he visto ni en los sitios de github del Transportador ni del Material Angular ninguna utilización de las capacidades de los demás. Ya que ambas son bibliotecas angulares que vienen del mismo grupo en Google, @juliemr y la pandilla protractora pueden hablar con @ThomasBurleson y el grupo de materiales para presentar casos de uso completos y pruebas E2E para material angular usando protactor para eliminar estos problemas .
Bueno, el transportador está diseñado para realizar pruebas angulares, por lo que si está usando la función waitForAngular y su sitio web es angular, no debe usar eso, debe hacer lo siguiente antes de cada prueba:
browser.ignoreSynchronization = false;
y puede hacer esto para hacer que sus pruebas sean más rápidas y probablemente ayude a eliminar el problema del tiempo de espera, en su archivo protractor-conf.js agregue este código:
...
onPrepare: function() {
var disableNgAnimate = function () {
angular.module(''disableNgAnimate'', []).run(function($animate){
$animate.enabled(false);
});
},
browser.addMockModule(''disableNgAnimate'', disableNgAnimate);
},
...
y tal vez deberías ver este video .
Me gustaría añadir que deshabilitar ngAnimate puede no ser suficiente. También es posible que tenga que deshabilitar la animación CSS de Angular Material inyectando CSS dentro de la opción ''onPrepare'' del transportador. ( Cómo deshabilitar las animaciones en el transportador para la aplicación angular js ).