Я пишу мокко тесты против магазина Reflux, чтобы проверить, что действие вызывает изменение состояния в хранилище. Сокращенная версия кода приводится ниже:Изменение состояния теста хранилища reflux с помощью mocha
магазин:
var AppStore = Reflux.createStore({
init: function() {
this.foo = false;
},
listenables: [AppActions],
onFooAction: function() {
this.foo = !this.foo;
this.trigger({action: "foo-ed"});
};
});
Действие:
var AppActions = Reflux.createActions([
"fooAction"
]);
Тест:
it("toggles foo", function() {
expect(AppStore.foo).to.equal(false);
AppStore.listenables[0].fooAction();
expect(AppStore.foo).to.equal(true);
});
Однако второе утверждение (expect(AppStore.foo).to.equal(true);
) не позволяет утверждать, что foo
по-прежнему является ложным.
Выполнение console.log
в методе onFooAction
, я проверил, что метод фактически инициирован, и this.foo
становится переключенным.
Есть ли что-то фундаментальное, что я здесь отсутствует: концептуально или иначе? Я искренне надеюсь, что это не вопрос времени!