单元测试 - 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})
我正在尝试对 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})