Ich habe den folgenden Code in einer eigenen Datei shared.js
gemeinsame Funktionalität in Mokka Tests
afterEach(function() {
// insert code
});
var foo;
beforeEach(function() {
foo = {
bar: []
};
});
exports = module.exports = {};
exports.foo = foo;
rief ich die afterEach
und beforeEach
mag Ich habe in jedem mocha.js Test lief werden. Also in jeder Testdatei, ich benötigte shared.js
. Das Problem ist, es scheint foo
ist nicht im Rahmen meiner Tests verfügbar. foo.bar
ist nicht definiert und nicht zugänglich. Die beforeEach()
und afterEach
Hooks sind in Ordnung, aber ich habe Probleme zu verstehen, wie Sie den Umfang von foo
ordnungsgemäß exportieren. Dies könnte eher ein Node.js-Problem als ein tatsächliches Mocha-Problem sein.
sollte 'foo .bar 'letztlich dann in jeder Datei, die ich' require 'dies in? Weil ich versuche, 'foo.bar.push ({});' in meinem Test, der diese freigegebene Datei erfordert und ich bekomme 'foo ist nicht definiert ' – randombits
@randombits Sie müssen das Ergebnis erfordern, um eine Variable zu sein kann auf die exportierten Daten zugreifen. z.B. 'var shared = require (" ./ shared ");' Dann kannst du über 'shared.foo' auf foo in deinem Modul zugreifen. – vincent