测试Redux组合减速器

Dyl*_*rry 8 javascript mocha.js expect.js redux

假设我有几个减速器功能,我将它们全部组合成一个减速器使用combineReducers(...),有没有办法测试组合减速器实际包含哪些减速器?

例如,如果我有这个:

import { combineReducers } from 'redux'

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

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

export default rootReducer
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

Tom*_*far 7

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