我有一个简单的 JavaScript 文件 color.js
和一个匹配的规范文件 colorSpec.js
。
color.js:
function Color()
{
}
colorSpec.js:
require('./color.js');
describe("color", function() {
it("should work", function() {
new Color(255, 255, 255);
});
});
当我运行 jasmine-node colorSpec.js
时,出现以下异常:
ReferenceError: Color is not defined
如何让 Jasmine 在运行 colorSpec.js
之前加载我的 color.js
文件?
最佳答案
你可以使用 require() 将 color.js 加载到 colorSpec.js 中。我不明白 Jasmine 如何猜测所有的依赖关系,而不需要你告诉 Jasmine 它们在你的规范文件中到底是什么。 编辑 : 一个快速而肮脏的解决方案,但也许有内置的 Jasmine 可以做到这一点:
fs = require('fs')
myCode = fs.readFileSync('./color.js','utf-8') // depends on the file encoding
eval(myCode)
那么你的类(class)应该可以使用 jasmine
如果您直接在文件上调用 require,我认为您需要创建一个模块并将其导出
关于javascript - 如何加载文件以使用 Jasmine Node 进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9436416/