有没有人有关于如何配置 Karma 以使用 PhantomJS 的简单入门指南?
使用 phonecat 示例,我让 Karma 在 Chrome 上运行良好,虽然 Karma 文档提到了 PhantomJS(我现在已经安装),但我不知道如何修改配置文件以使其运行。
我尝试将 PhantomJS 放在browsers
testacular.conf.js 的数组中,但我得到了;
{ [Error: spawn OK] code: 'OK', errno: 'OK', syscall: 'spawn' }
我认为这意味着它可以正常启动,但在我看来(作为 PhantomJS 菜鸟)它需要不同的命令行。我还下载了 phantomjs-launcher,但如何使用它并不明显。
(如果有区别,我正在运行 Windows 7 64 位。)
测试.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'
};
根据 procmon.exe PhantomJS 根本没有启动,所以为了规避环境问题,我已经修改了我的配置;
browsers = ['Chrome','%USERPROFILE%\\AppData\\Roaming\\npm\\phantomjs.cmd'];
where%userprofile%
展开,这似乎启动它,但现在我明白了;
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)
该错误现在似乎来自 PhantomJS.exe。