小编Ste*_* R.的帖子

如何在 svelte 中模拟/模拟笑话测试的子组件事件?

我想在我的苗条父组件上运行隔离测试(例如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)

jestjs svelte

5
推荐指数
1
解决办法
981
查看次数

标签 统计

jestjs ×1

svelte ×1