介绍:
我想测试一下,如果我点击提交按钮,就会调用 onSubmit 函数。根据我阅读文档时的理解,我认为这是可能的:
- https://sinonjs.org/releases/v6.1.5/spies/
- https://vue-test-utils.vuejs.org/guides/#testing-key-mouse-and-other-dom-events
预期输出:
- 让测试运行并告诉我通过或失败
实际输出:
- 没有,我目前陷入以下困境:
语境:
在我的测试中:
import NavBar from '@/components/layout/NavBar.vue'
在该组件中,我有一个(此处为简化版本)表单:
<b-nav-form @submit="onSubmit">
<b-form-input />
<b-button type="submit">Search</b-button>
</b-nav-form>
我想测试一下,如果我点击提交按钮,就会调用 onSubmit 函数。
我的设置是 Vue、BootstrapVue 和 Sinon。我知道我必须设置一个监听被调用函数的间谍。
如果有帮助,这是我组件中的实际脚本:
<script>
export default {
data () {
return {
query: ''
}
},
methods: {
onSubmit () {...}
}
}
</script>
我理解的例子:
it('a true example', () => {
var f = {
onSubmit: function(query) {
this.query = query;
}
}
var onSubmitSpy = sinon.spy(f, 'onSubmit');
f.onSubmit('Club')
console.log(onSubmitSpy.callCount); // is 1
onSubmitSpy.restore();
})
但这与例如单击表单中的按钮无关。
请指教