我正在尝试使用webpack模板为我的应用创建基于Vue和vue-cli的单元测试。
我阅读了Vue文档,vue-loader,vue-cli和vue-template / webpack(更多!)。当我尝试对我的组件进行单元测试时,我会使用它。
const Constructor = Vue.extend(MovieList)
vm = new Constructor({
propsData: {
criteria
},
methods: {
fetch: sandbox.spy()
}
}).$mount()
测试一下:
expect(vm.fetch).to.be.called
但是我收到了这个错误:
✗应该被称为fetch
TypeError:{[Function:boundFn] _length:0}不是间谍或对间谍的调用! 在assertCanWorkWith(/home/jmanuelrosa/Developer/personales/vue-course/movues/node_modules/sinon-chai/lib/sinon-chai.js:43:19) 在Assertion。 (/home/jmanuelrosa/Developer/personales/vue-course/movues/node_modules/sinon-chai/lib/sinon-chai.js:70:13) 在Assertion.addProperty(/home/jmanuelrosa/Developer/personales/vue-course/movues/node_modules/chai/chai.js:4240:29) 在上下文。 (webpack:///test/unit/specs/MovieList.spec.js:74:39< - index.js:14910:39)
答案 0 :(得分:1)
从未与sinon合作,但医生说:
sinon.spy(vm, "fetch");
expect(vm.fetch).toHaveBeenCalled();
http://sinonjs.org/releases/v2.1.0/spies/
您是否在创建组件时调用fetch?有时您需要手动触发方法。