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

Javascript 使用jasmine单元测试框架的单元测试node.js,javascript,node.js,unit-testing,jasmine,Javascript,Node.js,Unit Testing,Jasmine,我是单元测试新手,我正在尝试理解如何对node.js项目进行单元测试,但我不确定为什么我当前的测试不起作用 我有两个文件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.j

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

我有两个文件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

所以我运行了一个jasmine单元测试(位于fed.spec.js中),并声明我期望AllowanceAdditional等于(==)或(==)142。但我返回的错误是AllownCeadditional未定义

有人能教育我或给我指出正确的方向吗?我不明白为什么这不起作用。我做错了什么?我希望我的问题有意义,如果没有,请告诉我,我将进一步澄清

您必须导出它:

exports.AllowanceAdditional = 142;
在JavaScript中,还有其他的表达方式

在我的实践中,我通常使用:

function () {
    this.AllowanceAdditional = 142;
}.call(this);
关键是将全局变量和函数附加到适当的范围,以便Node.js可以找到它们


在浏览器内部,因为
.call(this)
将始终在
窗口中传递
对象。它将附加到全局范围。

抱歉,添加了附加信息。我希望变量AllowanceAdditional返回142,但它说它返回“undefined”。我正在导出它,我正在使用module.exports=snap导出整个snap对象。我的问题更多的是关于如何让我的考试通过?你的意思是我应该添加这些导出;在src文件还是spec文件中?在src文件中,node需要能够找到它