单元测试 - React-redux reducers 期望值

Unit test - React-redux reducers expected value

我正在尝试对 redux reducer 进行单元测试。我想知道预期的 return 值。

目前我期望值等于:

<"isConnected": false>

但是我收到了:

<"0": <"isConnected": true>, "isConnected": false>

我在文档中找到了两个 reducer 语法。
第一个return一个对象:

<"0": <"isConnected": true>, "isConnected": false>

第二个数组:

[<"isConnected": false>]

正确的减速器应该return编辑的值是多少?

我的package.json:

{
  "name": "app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.3.2",
    "react-dom": "^16.3.2",
    "react-scripts": "1.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "devDependencies": {
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "react-test-renderer": "^16.3.2"
  }
}

我的减速器:

import * as types from '../actions/actionsTypes'

const initialState = {
    isConnected : true
};

const appReducer = ( state = initialState, action) => {
    switch (action.type) {
        case types.OPEN_CONNECTION :
            return {
                ...state,
                isConnected : true
            };

        case types.CLOSE_CONNECTION :
            return {
                ...state,
                isConnected : false
            };

        default:
            return state
    }
};

export default appReducer;

我的测试:

it('appReducer Test', () => {
    expect(appReducer([{isConnected : false}], {type: types.OPEN_CONNECTION})).toEqual({isConnected : true})
})

我收到了这个:

<"0": <"isConnected": true>, "isConnected": false>

因为我在测试中将 initialState 作为数组给出:

[{isConnected : false}]

测试的正确语法是:

expect(appReducer({isConnected : false}, {type: types.OPEN_CONNECTION})).toEqual({isConnected : true})