【发布时间】:2016-05-04 20:45:43
【问题描述】:
我是 react/redux 世界的新手,我使用 this code 创建了 redux 待办事项应用程序,现在我想为它编写测试,我创建了以下规范:
import {expect} from 'chai'
import todoApp from '../src/reducers'
import {setVisibilityFilter} from '../src/actions'
describe('reducer', ()=> {
it('Set correctly visibility filter', ()=>{
const setVisibilityFilterAction = setVisibilityFilter('SHOW_ALL')
const initialState={};
const nextState= todoApp(initialState, setVisibilityFilterAction)
const expectedState ={
todos:[],
visibilityFilter:'SHOW_ALL'
}
expect(nextState).to.equal(expectedState);
})
})
但是断言失败并且错误是:
AssertionError: expected { Object (todos, visibilityFilter) } to equal { Object (todos, visibilityFilter) }
+ expected - actual
尝试打印对象,它们(expectedState 和 nextState)都具有相同的数据:
{
todos:[],
visibilityFilter: "SHOW_ALL"
}
为什么会失败?
【问题讨论】:
-
嗨,一个单独的问题:您如何设法测试 es6 代码?你是在node里运行的吗?你在用 babel 吗?
-
是的,我正在使用 babel。你需要一个 es6 的转译器(至少现在是这样)
标签: reactjs mocha.js redux chai