首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎么能用sinon在Vue监视或模拟方法?

我怎么能用sinon在Vue监视或模拟方法?
EN

Stack Overflow用户
提问于 2017-04-25 07:25:00
回答 1查看 2.3K关注 0票数 2

我正试图为我的应用程序创建一个基于Vue和vue-cli的webpack模板的单元测试。

我读过Vue文档,vue-加载程序,vue-cli和vue-模板/webpack(更多!)当我试图为我的组件进行单元测试时,我使用以下方法。

代码语言:javascript
复制
const Constructor = Vue.extend(MovieList)
vm = new Constructor({
    propsData: {
        criteria
    },
    methods: {
        fetch: sandbox.spy()
    }
}).$mount()

并测试这个:

代码语言:javascript
复制
expect(vm.fetch).to.be.called

但我知道这个错误:

✗应该被称为fetch TypeError:{ _length: 0}不是间谍或调用间谍!在(/home/jmanuelrosa/Developer/personales/vue-course/movues/node_modules/sinon-chai/lib/sinon-chai.js:43:19)的assertCanWorkWith上断言。(/home/jmanuelrosa/Developer/personales/vue-course/movues/node_modules/sinon-chai/lib/sinon-chai.js:70:13) at Assertion.addProperty (/home/jmanuelrosa/Developer/personales/vue-course/movues/node_modules/chai/chai.js:4240:29) at Context。(webpack:///test/unit/specs/MovieList.spec.js:74:39 <- index.js:14910:39)

EN

回答 1

Stack Overflow用户

发布于 2017-04-25 19:52:34

他从未与西农共事过,但医生说:

代码语言:javascript
复制
sinon.spy(vm, "fetch");
expect(vm.fetch).toHaveBeenCalled();

http://sinonjs.org/releases/v2.1.0/spies/

您是否在调用已创建的组件的fetch?有时需要手动触发方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43604201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档