我正在進行單元測試,我想測試一下redux商店中的值是否根據我的指示進行了更新。變量未在單元測試中更新
我的module reducer
單元測試包含多個測試套件,有些是更新狀態,有些不是,我不知道爲什麼...所以我經過一天的測試和研究後來到這裏,看看有人可能知道我錯誤的原因。任何建議表示讚賞。
這裏是我的模塊減速機代碼的一部分:
export function createModuleReducer() {
return function moduleReducer(state: PageModules = INITIAL_STATE,
action): PageModules {
if (!action.meta || !action.meta.status) {
return state;
}
switch (action.type) {
case INITIALIZE:
case CREATE_SIGNATURES_ARRAY:
return tassign(state, {signatures: action.payload['document']});
這裏是我的模塊減速規範代碼的一部分:
const baseState = {
signatures: []
};
let state;
…
describe('Reducer',() => {
…
beforeEach(async(() => {
TestBed.configureTestingModule({
…
MockNgRedux.reset();
state = JSON.parse(JSON.stringify(baseState));
}));
it('should call CREATE_SIGNATURES_ARRAY reducer', async(() => {
const actionCreateSignature = {
type: CREATE_SIGNATURES_ARRAY,
meta: { status: 'create_signature'},
payload: { 'document': … }
};
createModuleReducer()(state, actionCreateSignature);
mockNgRedux.dispatch(actionCreateSignature);
expect(state.signatures).toEqual(…)
}));
}
使用的console.log,我知道module reducer
更新相應的商店,但規格中的值不會改變。
我更新了我與createModuleReducer功能,這是一種含有開關功能的答案! –