我已经花了相当多的时间试图在Cypress组件测试中模拟导入的组件。
假设我们有一个Parent.vue
组件:
<template>
<ChildComponent />
</template>
<script setup>
import ChildComponent from './ChildComponent.vue';
</script>
ChildComponent.vue
:
<template>
<div data-cy="child">Child</div>
</template>
我们怎能嘲弄它的柏树呢?
1条答案
按热度按时间jmo0nnb31#
React
在我找到答案之前,有几篇文章对React用户来说可以派上用场。第一个链接对我很有效:
我已在Webpack中添加了其他规则:
在
Parent.js
中,我模拟了ChildComponent.js
如下:Vue
如果我们想模拟Vue中的组件,我们不需要在webpack中进行任何更改,而不是模拟默认导入,我们需要模拟
render
函数,为了抑制被模拟组件中脚本标记的执行,我们可以模拟setup
函数。范例:
模拟js模块:
如果您想模拟js模块默认导出,您需要对webpack配置进行与上述React相同的修改。
模拟函数
要只模拟模块的一个函数,可以使用
returns
或value
;