我不是开玩笑的新手,正在尝试测试一些动作,其中之一称为异步动作。
我的测试通过了,但收到警告
我不知道为什么。
在我的组件中,我有:
methods: {
...mapActions('userInfo', ['toggleCart', 'resetCart',],),
toggleCart () {
if (this.user.isLoggedIn) {
const self = this;
this.toggleCart(this.id).then(() => {
self.resetCart(self.id);
});
}
},
(这些操作映射到我在userInfo存储中的操作)。
在我的商店中,我的动作是:
const actions = {
toggleCart ({ state, }, titleId) {
if (state.item.isInMyCart) {
api.del(`${cart-add}/${itemId}`, `${itemId}`);
} else {
api.put(`${cart-add}/${itemId}`, `${itemId}`);
}
},
resetState ({ commit, }, itemId) {
api.get(`${cart}/${itemId}`).then((response) => {
commit('setUserCart', { ...defaultValues, ...response, });
});
}, };
我对此的测试是:
test('resets userCart state asynchronously when toggleCartItem is clicked', () => {
const wrapper = shallowMount(userCart, { store, localVue, });
wrapper.find('a.button.toggle').trigger('click');
wrapper.vm.$nextTick(() => {
expect(actions.resetCart).toHaveBeenCalled()
.done();
});
});
再一次,测试通过了,从功能上讲,一切正常,但是我不明白为什么收到警告。