【发布时间】:2023-01-31 17:56:31
【问题描述】:
我正在尝试按照指南here 来测试发出的事件。
鉴于以下 Vue SFC:
<script setup>
</script>
<template>
<button data-testid="credits" @click="$emit('onCredits')">Click</button>
</template>
以及以下赛普拉斯测试:
import { createTestingPinia } from '@pinia/testing';
import Button from './Button.vue';
describe('<Button />', () => {
it('renders', () => {
const pinia = createTestingPinia({
createSpy: cy.spy(),
});
cy.mount(Button, {
props: {
onCredits: cy.spy().as('onCreditsSpy'),
},
global: {
plugins: [pinia],
},
});
cy.get('[data-testid=credits]').click();
cy.get('@onCreditsSpy').should('have.been.called');
});
});
我的测试失败了
期望 onCreditsSpy 至少被调用一次,但它从未被调用过
把间谍当作道具传递感觉很奇怪,我是不是误会了什么?
【问题讨论】: