我正在针对 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
方法中执行 a,我已经验证了该方法实际上已被触发并且this.foo
正在切换。
我在这里缺少什么基本的东西:概念上还是其他方面?我真诚地希望这不是时间问题!