Require在PhantomJs测试中失败
Require fails on a PhantomJs test
我有一个简单的库,
-- src/lib.js --
function libtest() {
return 2;
}
我想测试的,我收集到需要PhantomJs。我有一个测试文件:
-- test/lib.test.js --
var fs = require('fs');
var assert = require('assert');
describe('Test module', function() {
var s = fs.readFileSync('../src/lib.js', 'utf8');
eval(s);
it('Shows name', function() {
assert.equal(libtest(), 2);
});
});
我为浏览器准备的:
# browserify lib.test.js -o tests.js
然后包括在我的主页上:
-- test/index.html --
<html>
<head>
<meta charset="utf-8">
<title>Mocha Tests</title>
<link href="../../node_modules/mocha/mocha.css" rel="stylesheet" />
</head>
<body>
<div id="mocha"></div>
<script src="../../node_modules/mocha//mocha.js"></script>
<script>mocha.setup('bdd')</script>
<script src="tests.js"></script>
<script>
if (window.mochaPhantomJS) mochaPhantomJS.run();
else mocha.run();
</script>
</body>
</html>
然而,当我运行测试时:
# grunt test
我得到以下错误:
运行"mocha_phantomjs:all"(mocha_phantomjs)任务类型错误:"undefined"不是函数(正在求值'fs.readFileSync('../src/lib.js','utf8')')
在file:///Users/ekkis/Development/tst/test/tests.js:5
在file:///Users/ekkis/Development/tst/node_modules/mocha//mocha.js:529
在file:///Users/ekkis/Development/tst/test/browser/tests.js:10在里面s在file:///Users/ekkis/Development/tst/test/browser/tests.js:1在里面e在file:///Users/ekkis/Development/tst/test/browser/tests.js:1在file:///Users/ekkis/Development/tst/test/browser/tests.js:1090不安全的JavaScript试图访问URL为about:black的帧带有URLfile:///Users/ekkis/Development/tst/node_modules/mocha-phantomjs-core/mocha-phantomjs-core.js.域、协议和端口必须匹配。
其似乎在抱怨CCD_ 1未被定义。然而,如果require('assert')
工作,我想require('fs')
应该工作。但我不太清楚这是在什么背景下运行的。
我错过了什么?
好的。答案是简单地将该库包括在CCD_ 4中。由于测试在浏览器中运行,因此该库将可用。像这样:
<body>
<div id="mocha"></div>
<script src="../../node_modules/mocha//mocha.js"></script>
<script>mocha.setup('bdd')</script>
<script src="../../src/lib.js"></script>
<script src="tests.js"></script>
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- Jasmine单元测试在监视服务方法时失败
- ChaiJS:无法导致测试失败
- 当我的单元测试失败时,回调被调用了两次
- 预期[false]为false量角器e2e测试失败
- 为什么在我的单元测试中instanceOf的测试失败
- yeoman generator聚合物的web组件测试失败
- 当Firefox尝试登录时,Selenium测试失败
- 将范围添加到角度种子默认视图控制器时,测试套件现在失败
- Javascript由于测试中的双反转逗号而失败
- 测试Ember.JS应用程序失败,返回ReferenceError:未定义Ember
- 量角器中的AngularJS E2E测试失败
- 用摩卡测试失败的承诺'内置的promise支持
- 这个单元测试失败的原因是什么
- 当分离到不同的文件中时,测试失败
- 量角器(用于测试角咆哮)通过/失败不一致
- 为什么这个茉莉花节点测试没有失败
- 茉莉节点未显示失败测试
- 如果服务器给出响应,如何失败测试
- Jasmine Spec Runner:失败测试的堆栈跟踪