Я строю модуль node.js, и я также хочу проверить его с помощью Jasmine.Intercept EventEmitters with Jasmine
Пусть говорят мой модуль выглядеть примерно так:
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
};
Как я могу проверить мой модуль с Jasmine нацеливания всех мои событий я испускаю?
Что-то вроде этого:
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();
});
});
});
Привет, спасибо за ваш ответ, могу ли я попросить более подробный пример? Я новичок в мире тестирования модулей, и было бы неплохо понять его лучше ... –
Не уверен, что этот пример полностью работает, поскольку я только что написал его inline. Но вы должны прочитать это: http://jasmine.github.io/2.5/introduction И также документы на proxyquire. –
Я проверю его, как только смогу, и дам вам знать. Спасибо –