在 TDD 期间模拟 Vue 实例的方法 [英] Mocking methods on a Vue instance during TDD

查看:22
本文介绍了在 TDD 期间模拟 Vue 实例的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在构建我的 Vue 应用程序的同时学习 TDD,并试图遵守只编写足够的生产代码以满足失败的单元测试的严格规则.我真的很喜欢这种方法,但在向 Vue 实例添加方法以及测试当事件从模板中的元素触发时它们已被调用时遇到了障碍.

我找不到关于如何模拟 Vue 方法的任何建议,因为如果我模拟代理方法,它最终不会被调用(我正在使用 Jest 和 Vue Test Utils).

我也在使用 Cypress,所以我可以在 e2e 中填写这个测试,但我希望能够通过单元测试尽可能多地覆盖.

我拥有测试 Vue.js 应用程序"一书.由 Edd Yerburgh 撰写,但在有关测试组件方法的部分中,他只是陈述了以下内容:

<块引用>

通常,组件在内部使用方法.例如,当单击按钮时登录到控制台 [...] 您可以将这些视为私有方法——它们不打算在组件之外使用.私有方法是实现细节,所以你不要直接为它们编写测试.

这种方法显然不允许遵循更严格的 TDD 定律,那么 TDD 纯粹主义者如何处理这个问题?

ButtonComponent.vue