问题标签 [svelte-testing-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
691 浏览

javascript - 如何测试苗条的输入反应性?

我写了一个苗条的组件App,你可以在其中写一个句子,input然后句子将呈现在一个h1.

App.svelte

但是当我尝试使用@testing-library/svelte测试这种行为时,输入不是反应性的,并且输入的文本h1仍然是"Hello world"(但输入中的值已根据 first 改变expect)。

应用程序.test.js

开玩笑的错误信息:

您可以使用代码和框检查此行为。

有人知道为什么这个测试失败了吗?

0 投票
1 回答
484 浏览

svelte - Svelte 测试库不会检测到组件更新

我的组件:

测试代码:

模拟文件(__mocks__/firebase-shortcut.ts):

开玩笑的配置<project root>/jest.config.js

如果我通过 打印组件状态console.log(render(...).component),它会打印出该loggedIn状态被正确设置为'yes''no'在每种情况下。但实际得到的渲染结果render(...).container.innerHTML,并没有更新。

加上 Jest 输出打印出一个奇怪的错误:

如果我尝试将 "printing"loggedIn的值转换为 HTML 输出,例如

输出结果loggedIn是“是”或“否”,但if分支似乎并没有起作用。

有什么我做错了吗?提前致谢。

0 投票
0 回答
17 浏览

unit-testing - 测试 dom 库中的 waitFor 未按预期运行

我正在使用测试 dom 库来测试 svelte 项目。在这里,当我向输入元素输入“com”时,它会调用端点,并且“COMAN”元素将作为端点的结果发生。所以我输入如下代码。

有时它会等待并且表现良好,但有时它会返回错误。我将回调函数更改为waitForasexpect(getByText("COMAN")).toBeVisible() 但我得到了相同的结果。即有时会得到我想要的结果,但有时不会。我认为 waitFor 函数的动作现在不稳定。