Javascript Require在PhantomJs测试中失败

Javascript Require在PhantomJs测试中失败,javascript,node.js,unit-testing,browserify,mocha-phantomjs,Javascript,Node.js,Unit Testing,Browserify,Mocha Phantomjs,我有一个简单的图书馆 -- src/lib.js -- function libtest() { return 2; } 我想测试的,我收集的需要幻影。我有一个测试文件: -- test/lib.test.js -- var fs = require('fs'); var assert = require('assert'); describe('Test module', function() { var s = fs.readFileSync('../src/lib.js'

我有一个简单的图书馆

-- src/lib.js --
function libtest() {
    return 2;
}
我想测试的,我收集的需要幻影。我有一个测试文件:

-- 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>
我得到以下错误:

运行“mocha_phantomjs:all”(mocha_phantomjs)任务类型错误: “未定义”不是一个函数(评估 '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 在里面 在file:///Users/ekkis/Development/tst/test/browser/tests.js:1 在里面 注视file:///Users/ekkis/Development/tst/test/browser/tests.js:1 在 file:///Users/ekkis/Development/tst/test/browser/tests.js:1090 不安全的 JavaScript尝试访问URL为:空的框架 带URL file:///Users/ekkis/Development/tst/node_modules/mocha-phantomjs-core/mocha-phantomjs-core.js. 域、协议和端口必须匹配

它似乎在抱怨
fs
未定义。但是,如果
require('assert')
有效,我可以想象
require('fs')
应该有效。但我不太清楚它运行的上下文


我错过了什么?

好的。答案只是将库包含在
.html
中。由于测试在浏览器中运行,因此库将可用。像这样:

<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>

摩卡咖啡设置(“bdd”)
<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>