如何使用Jasmine节点加载文件进行测试? [英] How to Load a File for Testing with Jasmine Node?

查看:158
本文介绍了如何使用Jasmine节点加载文件进行测试?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆