如何在减速器中使用jest测试if语句?

时间:2018-01-31 12:25:12

标签: redux immutability jest

我想测试这个减速器,但我很不清楚如何在if语句上运行测试。

case REMOVE_NOTIFICATION: {
    if (state.getIn(['notification', 'message']) === action.message) {
        return initialState;
    }
    return state;
}

case TICK_NOTIFICATION:
    return state.setIn(['notification', 'timer'], 
    state.getIn(['notification', 'timer']) - 1);

default:
    return state;

1 个答案:

答案 0 :(得分:0)

if语句是一个实现细节,不应进行测试。您想测试预期的行为。您对reducer进行了操作,并期望解决新状态。您想要测试所有预期的行为,而不仅仅是一个。这可以确保您更改实现细节不会破坏您的测试。