Does anyone have a simple getting started guide on setting up Karma to use PhantomJS?
Using the phonecat sample, I have Karma working with Chrome perfectly, and although the Karma docs mention PhantomJS (which I just installed), I cannot figure out how to modify the configuration file to run it.
I tried putting PhantomJS into the browsers array of testacular.conf.js, but I get:
{ [Error: spawn OK] code: 'OK', errno: 'OK', syscall: 'spawn' }
I think it launches OK, but it seems to me that (like PhantomJS noob) another command line is needed. I also downloaded phantomjs-launcher , but it is unclear how to use this.
(I am using the 64-bit version of Windows 7, if that matters.)
test.bat
@echo off REM Windows script for running unit tests REM You have to run server and capture some browser first REM REM Requirements: REM -NodeJS (http://nodejs.org/) REM -Testacular (npm install -g karma) set BASE_DIR= % ~dp0 karma start "%BASE_DIR%\..\config\testacular.conf.js" %*
testacular.conf.js
basePath = '../'; files =[ JASMINE, JASMINE_ADAPTER, 'app/lib/angular/angular.js', 'app/lib/angular/angular-*.js', 'test/lib/angular/angular-mocks.js', 'app/js/**/*.js', 'test/unit/**/*.js' ]; autoWatch = true; browsers =['Chrome', 'phantomjs']; junitReporter = { outputFile: 'test_out/unit.xml', suite: 'unit' };
According to procmon.exe, PhantomJS did not start at all, so to circumvent environmental issues, I have since made corrections to my configuration like this:
browsers = ['Chrome','%USERPROFILE%\\AppData\\Roaming\\npm\\phantomjs.cmd'];
where %userprofile% expands, which seems to start it, but now I get this:
INFO [launcher]: Starting browser %USERPROFILE%\AppData\Roaming\npm\phantomjs.cmd ERROR [launcher]: Cannot start %USERPROFILE%\AppData\Roaming\npm\phantomjs.cmd Can't open 'http://localhost:9876/?id=16572367' events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn OK at errnoException (child_process.js:975:11) at Process.ChildProcess._handle.onexit (child_process.js:766:34)
Now this error appears from PhantomJS.exe.