单元测试node.js使用jasmine单元测试框架

时间:2014-09-01 23:53:37

标签: javascript node.js unit-testing jasmine

我是单元测试的新手,我正在尝试了解如何对node.js项目进行单元测试,但我不确定为什么我当前的测试不起作用。

我有2个文件fed.js(src)和fed.spec.js(spec)

这是我运行时遇到的错误...

错误:

Snap should return 142
Expected undefined to be 142.
Error: Expected undefined to be 142.

Jist:

我正在尝试运行测试以确保变量 AllowanceAdditional (位于fed.js中)等于142.

所以我运行了一个茉莉花单元测试(位于fed.spec.js),并说我希望AllowanceAdditional等于(==)或者是(===)142。但我得到的错误是AllowanceAdditional未定义......

有人可以教育我或指出我正确的方向,我不明白为什么这不起作用。我究竟做错了什么?我希望我的问题有道理,如果没有,请告诉我,我会进一步澄清

1 个答案:

答案 0 :(得分:1)

您必须将其导出:

exports.AllowanceAdditional = 142;

在JavaScript中,还有其他方法可以表达这一点。

在我的练习中,我通常使用:

function () {
    this.AllowanceAdditional = 142;
}.call(this);

重点是将全局变量和函数附加到适当的范围,以便Node.js可以找到它们。

在浏览器中,.call(this)将始终传入window对象。它附属于全球范围。