互联网上有很多文档用jest来测试svelte组件,调用render函数和模拟浏览器事件。这很好,但是我如何在一个纤细的组件中测试一个函数呢?
我的组件.苗条
<script>
function veryComplicated(foo) {
...
}
</script>
<div>...</div>
字符串
我的组件.测试. js
import { veryComplicated } from "./mycomponent.svelte"
test('it works', async () => {
expect(vercomplicated("foo").toBe("bar"))
})
型
开玩笑的
FAIL src/mycomponent.test.ts
● Test suite failed to run
src/mycomponent.test.ts:1:10 - error TS2614: Module '"*.svelte"' has no exported member 'veryComplicated'. Did you mean to use 'import veryComplicated from "*.svelte"' instead?
1 import { veryComplicated } from "./mycomponent.svelte"
~~~~~~~~~~~~~~~
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.697 s
Ran all test suites.
型
在veryComplicated
定义之前添加export
没有任何帮助。
如何测试veryComplicated
函数?
2条答案
按热度按时间nhaq1z211#
可以使用模块上下文脚本块导出函数。
字符串
然后,您可以像最初尝试的那样执行
import { veryComplicated } from './mycomponent.svelte'
。https://svelte.dev/tutorial/module-exports
bihw5rsg2#
找到了我得打给
render
我的组件.测试. js
字符串
并且需要导出原始文件中的
veryComplicated
函数:型