Я занимаюсь разработкой приложения с помощью ChaplinJS, мне нужно выполнить некоторые модульные тесты для некоторых сервисов приложения, поэтому я смог создать большинство тестов, но у меня есть проблемы с mediators Я искал, как их проверить.
Вот фрагмент
it('SHOULD execute page:goToURL once when called', () => {
var spy = sinon.spy();
Chaplin.mediator.subscribe('page:goToURL', spy);
Chaplin.mediator.publish('page:goToURL', '/someUrl');
assert(spy.called);
});
Моя идея здесь заключается в том, чтобы подписаться на это событие (page: goToURL) шпионом, и, если я его активирую, шпион узнает об этом и может сделать утверждения, а также выяснить, правильно ли инициируется событие. * * 1008
Полагаю, проблема в этой строке
Chaplin.mediator.publish('page:goToURL', '/someUrl');
Эта строка не совпадает с предыдущей строкой (подписка), поэтому она вызывает прямой обратный вызов из служебного файла вместо макета, который я определил. ( Я сделал несколько журналов консоли в тестируемом файле, и он выполняет это непосредственно )
Ниже приведен фактический фрагмент кода, который я тестирую.
initialize: function() {
Chaplin.mediator.subscribe('page:goToURL', this.callback, this);
}
Если триггер page: goToURL , будет выполнен обратный вызов.
Любые идеи о том, как решить это или некоторые рекомендации о том, как продолжить? У меня есть sinon chai + mocha для тестирования библиотек. спасибо!