Unit testing Vuex中的单元测试将断言错误抛出为等于{Object(type,text)}
到目前为止,单元测试Vuex操作一直是一场噩梦,我似乎无法理解它到底在寻找什么。我正在跟踪并使用他们的动作助手功能 我有一个简单的操作,可以向按钮添加文本Unit testing Vuex中的单元测试将断言错误抛出为等于{Object(type,text)},unit-testing,vue.js,mocha.js,chai,vuex,Unit Testing,Vue.js,Mocha.js,Chai,Vuex,到目前为止,单元测试Vuex操作一直是一场噩梦,我似乎无法理解它到底在寻找什么。我正在跟踪并使用他们的动作助手功能 我有一个简单的操作,可以向按钮添加文本 createButton({ commit, state }, payload) { let btnString = ''; if (payload.hasCookie) { btnString = 'Welcome back'; } else if (payload.isLoggedIn) {
createButton({ commit, state }, payload) {
let btnString = '';
if (payload.hasCookie) {
btnString = 'Welcome back';
} else if (payload.isLoggedIn) {
btnString = 'Sign out';
} else {
btnString = 'Sign up';
}
commit({ type: 'CREATE_BUTTON_TEXT', text: btnText });
},
在我的测试中
describe('Create Button Text', () => {
it('should render the buttons string ', (done) => {
const expectedString = 'Welcome back';
const mock = {
hasCookie: true,
isLoggedIn: false,
};
testAction(actions.createButton, mock, state, [
{ type: 'CREATE_BUTTON_TEXT', text: expectedString },
], done);
});
});
它返回的AssertionError:CREATE_BUTTON_TEXT'应该等于{Object(type,TEXT)}
。。。我是否使用expectedString
正确地提供了预期的文本
?对此问题的任何指导都将不胜感激
(按照文档中的建议使用Mocha+Chai)。您的提交语法似乎有误。如果使用了
testAction
帮助程序,则参数expectedMutations
需要一个具有类型和负载的对象列表。
以下代码适用于我:
createButton({ commit, state }, payload) {
let btnString = ''
if (payload.hasCookie) {
btnString = 'Welcome back'
} else if (payload.isLoggedIn) {
btnString = 'Sign out'
} else {
btnString = 'Sign up'
}
commit('CREATE_BUTTON_TEXT', btnString)
}
试验方法:
describe('Create Button Text', () => {
it('should render the buttons string ', (done) => {
const expectedString = 'Welcome back'
const mock = {
hasCookie: true,
isLoggedIn: false
}
testAction(actions.createButton, mock, {}, [
{ type: 'CREATE_BUTTON_TEXT', payload: expectedString }
], done)
})
})