test see karma coverage code phantomjs karma-runner mocha-phantomjs karma-mocha karma-coverage

phantomjs - see - karma istanbul coverage



NingĂșn binario para el navegador PhantomJS en su plataforma. Por favor, establezca la variable de env "PHANTOMJS_BIN" (11)

Mi package.json se ve así ...

"karma-phantomjs-launcher": "^0.1.4", "karma-safari-launcher": "^0.1.1", "karma-sinon-chai": "~0.2.0", "karma-spec-reporter": "~0.0.16", "mocha": "~1.20.1"

mi versión npm es 2.2.0

¿Por qué recibo esto cuando ejecuto la prueba de karma? karma start my.conf.js


Ejecute los siguientes comandos:

npm remove phantomjs -g npm remove phantomjs npm install phantomjs

Una vez que hagas esta instalación:

Recibirá un mensaje como el siguiente:

Linking to global install at /usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs

Copia este camino y ejecuta:

export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs

Básicamente, lo que está sucediendo es: karma está intentando iniciar el navegador pero no puede encontrar su ubicación. Una vez que exporta la ruta a la ruta correcta, se ejecuta.


Esto parece ser un problema con las versiones phantom js runner y phantom js.

https://github.com/karma-runner/karma-phantomjs-launcher/issues/31

Cómo solucioné mi problema ...

//install npm install -g karma-phantomjs-launcher //temporary path.. set the path export PHANTOMJS_BIN=/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs karma start my.conf.js


Me encontré con el mismo problema a veces. Tengo un gruntfile.js y tuve package.json donde phantomjs-prebuilt explícitamente phantomjs-prebuilt como dependencia. Pero mi servidor de CI a veces puede ejecutar grunt karma sin problemas, mientras que a veces falla en reclamar No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable .

Así que agrego una grunt task PHANTOMJS_BIN para asegurar que la variable PHANTOMJS_BIN se haya establecido antes de que se ejecute la prueba y luego se resolvió el problema molesto.

grunt.registerTask(''ensurePhantomJsPath'', function () { process.env.PHANTOMJS_BIN = ''./node_modules/phantomjs-prebuilt/bin/phantomjs''; console.log(process.env.PHANTOMJS_BIN); });

Así que finalmente el Gruntfile.js ve así:

grunt.registerTask(''ensurePhantomJsPath'', function () { process.env.PHANTOMJS_BIN = ''./node_modules/phantomjs-prebuilt/bin/phantomjs''; console.log(process.env.PHANTOMJS_BIN); }); grunt.registerTask(''test'', [''ensurePhantomJsPath'', ''karma'']);


Me encontré con este mismo problema. La solución es configurar manualmente la variable PHANTOMJS_BIN para que apunte a la ruta de acceso phantomjs correcta. De alguna manera, el PHANTOMJS_BIN karma intenta ver la ruta incorrecta establecida por PHANTOMJS_BIN .

Esto es lo que funcionó para mí:

$ echo $PHANTOMJS_BIN

/ usr / local / lib / node_modules / karma-phantomjs-launcher / node_modules / phantomjs / lib / phantom / bin / phantomjs

$ export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs $ grunt test

todo esta bien despues de eso


Me encontré con este problema con [email protected], donde también había instalado [email protected].

Resulta que phantomjs está en desuso, reemplazado por phantomjs-prebuilt.

Desinstalar ambos paquetes y reinstalar phantomjs-prebuilt solucionó el problema con karma-phantomjs-launcher:

npm -g remove phantomjs phantomjs-prebuilt npm -g install phantomjs-prebuilt


Me encontré con un problema como este. Lo que hice fue instalar el phantomjs global npm install -g phantomjs . Luego fui a la carpeta del módulo karma-phantomjs-launcher y abrió el archivo index.js . Luego fui a la función phantomJSExePath y comenté los contenidos anteriores (no estoy seguro si es seguro hacer lo que hice). Luego coloqué

return ''C://Users/user/AppData/Roaming/npm/node_modules/phantomjs/lib/phantom/phantomjs.exe'';

Me salvó de volver a escribir la exportación temporal.


Mi karma.conf.js tenía esta línea: process.env.PHANTOMJS_BIN = ''node_modules/karma-phantomjs-launcher/node_modules/.bin/phantomjs''; en la cima. ¡Me acabo de dar cuenta de eso! Lo comenté, y funciona.


Quito todas las carpetas de node_modules de mi proyecto y ejecuto "npm install". Esto solucionó mi problema.


También estaba teniendo este problema con una versión anterior del nodo. Si no desea tener que codificar esta variable de entorno, la actualización de su versión de nodo resolverá el problema. Solo haz lo siguiente (instrucciones OSX):

npm uninstall -g phantomjs npm cache clean -f brew upgrade nodejs rm -rf node_modules npm install -g YOUR_GLOBAL_DEPENDENCIES npm install

Edición: instrucciones actualizadas para asegurarse de que no hay una dependencia de phantomjs global


tuvo el mismo problema, todo lo anterior, ningún resultado eliminó la carpeta ''karma-phantomjs-launcher'' de los node_modules globales y el proyecto local, llamado ''npm install'' y todo está bien!


karma.config.js este problema en OSX: eliminar y crear el archivo karma.config.js usando sudo.