我将以下代码放在名为 shared.js
的自己的文件中
afterEach(function () {
// insert code
});
var foo;
beforeEach(function () {
foo = {
bar: []
};
});
exports = module.exports = {};
exports.foo = foo;
我希望在我的每个 mocha.js 测试中运行 afterEach
和 beforeEach
。所以在每个测试文件中,我需要 shared.js
。
问题是 foo
在我的测试范围内似乎不可用。 foo.bar
未定义且无法访问。 beforeEach()
和 afterEach
Hook 运行得很好,但我无法理解如何正确导出 foo
的范围。这可能更像是 Node.js 问题,而不是实际的 Mocha 问题。
最佳答案
问题是您无法修改导出的引用。在您的情况下,您正在导出 undefined
,因为 foo 未初始化。如果您使用空对象初始化 foo,然后尝试将其重新分配给不同的事物/对象,它仍然无法工作,因为导出的引用仍然相同。
您唯一能做的就是修改(改变)导出的对象,如下所示:
afterEach(function () {
// insert code
});
var foo = {};
beforeEach(function () {
foo.bar = [];
});
exports = module.exports = {};
exports.foo = foo;
关于javascript - Mocha 测试中的共享功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38467946/