如何使用Jasmine节点加载文件进行测试? [英] How to Load a File for Testing with Jasmine Node?
问题描述
我有一个简单的JavaScript文件, color.js
,以及匹配的spec文件 colorSpec.js
。
I have a simple JavaScript file, color.js
, and a matching spec file, 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
,我得到以下异常:
When I run jasmine-node colorSpec.js
, I get the following exception:
ReferenceError: Color is not defined
如何在运行之前让Jasmine加载我的
? color.js
文件colorSpec.js
How can I get Jasmine to load my color.js
file before running colorSpec.js
?
推荐答案
你可以在colorSpec.js中加载你的color.js要求()。我没看到茉莉如何猜测所有的依赖关系而不告诉茉莉你的spec文件中究竟是什么。
编辑:
快速而肮脏的解决方案,但也许有一些内置的Jasmine可以做到这一点:
you could load your color.js in the colorSpec.js with a require(). I dont see how jasmine can guess all the dependencies without you telling jasmine what they are exactly in your spec file. Edit : A quick and dirty solution , but maybe there is something builtin Jasmine to do that :
fs = require('fs')
myCode = fs.readFileSync('./color.js','utf-8') // depends on the file encoding
eval(myCode)
然后你的课程应该有jasmine
then your class should be available with jasmine
如果您直接在您的文件上调用require,我认为您需要创建一个模块并将其导出
if you call require directly on your file i think you need to create a module and export it
这篇关于如何使用Jasmine节点加载文件进行测试?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!