【发布时间】:2018-03-15 04:38:01
【问题描述】:
我正在使用 vue-test-utils 中的 mount(),有一个组件可以导入应该在单元测试中模拟的服务。
我看到 mount() 有一个 mocks 选项,但试图将guides, common-tips, mocking injections 给出的示例外推到注入服务的场景让我望而却步。
mount(Component, {
mocks: {
...?
}
})
组件只是简单的导入服务,就是普通的 JS
import DataService from '../services/data.service'
我可以使用inject-loader 让它工作,这里有详细介绍Testing With Mocks
有效的代码
const MyComponentInjector = require('!!vue-loader?inject!./MyComponent.vue')
const mockedServices = {
'../services/data.service': {
checkAll: () => { return Promise.resolve() }
},
}
const MyComponentWithMocks = MyComponentInjector(mockedServices)
const wrapper = mount(MyComponentWithMocks, { store: mockStore, router })
mount(MyComponent, { mocks: ... }) 的语法是什么?
既然 mount() 有一个 mocks 选项,难道不能以某种形式将 mockedServices 传递给它吗?
【问题讨论】:
标签: unit-testing vuejs2