我正在尝试使用jest-transform-svelte库为我的svelte组件编写单元测试用例。以下是组件:
XYZ.svelte
${__BeanShell("${__UUID}".replace("-"\,""),)}
XYZ.test.js
<script>
function submit() {
var name = document.getElementById("name").value; // Here document.getElementById("name") is coming as null when run from unit test case.
dispatch("abc", {
text: name
});
}
</script>
<input id="name" value="" type="text" label="Name" />
<button label="Submit" variant="primary" on:click={submit} />
当在测试用例上单击button.click时,调用将触发XYZ.svelte中的Submit函数,但是
document.getElementById(“ name”)
将作为null出现,因为它会得到null指针异常错误。
知道我在做什么错吗?
答案 0 :(得分:0)
在Svelte中,可以通过将元素的引用绑定到变量来避开document.getElementById
。尝试如下更改组件:
<script>
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
let name = null;
function submit () {
dispatch("abc", {
text: name
});
}
</script>
<input bind:value={name} type="text" label="Name" />
<button label="Submit" variant="primary" on:click={submit} />