测试Redux组合减速器

时间:2016-03-04 15:59:32

标签: javascript mocha redux expect.js

假设我有几个reducer函数,并且我使用combineReducers(...)将它们全部合并到一个reducer中,有没有办法测试组合reducer实际包含哪些reducer?

例如,如果我有这个:

import { combineReducers } from 'redux'

const reducer1 = (state, action) => {...}
... (more reducers, etc)

const rootReducer = combineReducers({
    reducer1,
    reducer2,
    reducer3
})

export default rootReducer

我可以使用Mocha和Expect.js编写测试,以便检查rootReducer是否包含reducer2吗?这甚至可能吗?

我目前设置项目的方式是每个reducer都在一个单独的文件中,然后导入到使用combineReducers(...)函数将它们全部组合在一起的文件中。我正在测试所有单独的减速器,以检查它们是否应该做到,但我也认为测试组合式减速器以确保它包含所有其他减速器是个好主意(如果我忘记了例如,添加一个。)

由于

1 个答案:

答案 0 :(得分:7)

你正在测试错误的东西IMO。您应该相信combineReducers()函数能够完成它应该做的事情(它应该在Redux distrubution测试中进行测试)。但是,您可以创建一个方法,该方法将返回具有reducers的对象以组合以作为参数传递给combineReducers()。该方法可以而且应该进行测试。