Ich baue ein node.js Modul und ich möchte es auch mit Jasmine testen.Intercept EventEmitter mit Jasmine
Lassen Sie sagen, mein Modul so aussehen:
var myModule = function (foo, bar) {
// Begin a workflow
var workflow = new (require('events').EventEmitter)();
workflow.on('test', function() {
var greet = greet();
return greet;
});
workflow.emit('test');
};
function greet() {
return "Hi!";
}
module.exports = {
myModule: myModule
};
Wie kann ich mein Modul testen mit Jasmine ich emittieren alle meine Veranstaltungen Targeting?
Etwas wie folgt aus:
var myModule = require('../myModule.js');
describe('My Module test', function() {
it('should get greet value', function() {
myModule.on('test', function() { // "test" as I wrote in myModule
expect(myModule.greet).toHaveBeenCalled();
});
});
});
Hallo, danke für deine Antwort, kann ich ein ausführlicheres Beispiel verlangen? Ich bin neu in der Unit-Test-Welt und es wäre schön, es besser zu verstehen ... –
Nicht sicher, ob dieses Beispiel vollständig funktioniert, wie ich es gerade inline geschrieben habe. Aber Sie sollten dies lesen: http://jasmine.github.io/2.5/introduction Und auch die Dokumente auf Proxyquire. –
Ich werde es so schnell wie möglich testen und Ihnen mitteilen. Danke –