我想在我的苗条父组件上运行隔离测试(例如OrderSearch)。因此,子组件(例如SearchForm)的行为应该被“模拟”。子组件抛出一个search在父组件中绑定的事件initiateSearch。
SearchForm.svelte(子组件 - 不是测试主题 - 应该模拟“提交”的触发)
<script>
const dispatchEvent = createEventDispatcher()
const submit = () => {
dispatchEvent('search', {firstName: '42'})
}
</script>
<div on:click="submit">Submit</div>
Run Code Online (Sandbox Code Playgroud)
OrderSearch.svelte(父组件 - 测试主题)
<script>
let results = []
const initiateSearch = (e) => {
console.log('initiate search with', e)
// search is started and returns results
results = [{orderId: 'bar'}]
}
</script>
<SearchForm on:search="initiateSearch"></SearchForm>
{#each results as order}
<div data-testid="order">{order.id}</div>
{/each}
Run Code Online (Sandbox Code Playgroud)
到目前为止,在以孤立的方式测试时,我的方法不起作用:OrderSearch.svelte
订单搜索测试.js
const {getAllByTestId, …Run Code Online (Sandbox Code Playgroud)