ember.js phantomjs ember-cli

ember.js - Cómo depurar las pruebas de ember-cli que se ejecutan en phantomjs



(4)

En testem.json agrega "phantomjs_debug_port": 9000 .

Mientras ejecuta sus pruebas, visite http://localhost:9000 en su navegador y haga clic en el enlace largo que aparece.

Fuente: cssugared

Contexto: tengo una prueba de aceptación para mi aplicación ember-cli, y la prueba pasa muy bien en Chrome. Sin embargo, en phantomjs, mi prueba falla, la IU no se crea de la misma manera, y estoy tratando de averiguar por qué. (Creo que la prueba se ha roto debido a https://github.com/ember-cli/ember-cli/issues/1763 , pero la pregunta general de cómo depurar permanece)

En Chrome, puedo usar las herramientas de depuración estándar en mis pruebas y todo está bien, pero en phantomjs, no puedo acceder a él con un depurador. Tampoco veo que los mensajes de console.log () aparezcan en la salida; todo lo que obtengo es una lista de los resultados de las pruebas en la ventana de mi terminal.

Puedo ordenar la información de diagnóstico escribiendo cosas como

equal(true, false, "This is a log message");

y luego recibo el mensaje como detalles de la afirmación que falló, o puedo intentar averiguar qué hay en el DOM con

equal(true, false, document.getElementsByClassName("my-class".innerHTML);

pero ambas cosas a: dejan que la prueba vaya más allá, y b: solo me permiten registrar información de la prueba en sí, no de mi aplicación.

¿Hay alguna manera de ejecutar mis pruebas fuera de "prueba de brasas" o de alguna forma adjuntarlas a los procesos de pruebas en curso? Alternativamente, ¿hay alguna forma de que los mensajes de console.log () aparezcan en la salida?


No tuve suerte con las otras respuestas, así que esto es lo que descubrí:

Agregue un return pauseTest(); en el punto de la prueba en el que desea poder interactuar con el contenedor en el navegador. Esto está en los documentos, pero no estoy seguro de que esté en las guías.


Para responder a la parte de mi pregunta original sobre "cómo hago para que aparezcan los mensajes de registro", si uso el reportero TAP, entonces los mensajes de console.log (en mi aplicación y en mis pruebas) aparecen en la salida; el reportero de xunit no pasa console.log encendido, lo cual me confundía.

(También me he topado con problemas donde ejecutar las pruebas en teamcity se comporta de manera diferente a la ejecución local, en esa situación, combinar el reportero TAP con https://github.com/aghassemi/tap-xunit (o el complemento TAP teamcity) me permite obtener mensajes de registro y también conteos de prueba)