我正在尝试为我的 Vite Lit.js 项目设置测试环境。我已经安装了带有 esBuild 插件的 WTR 来处理打字稿。当我运行测试时,我不断出现以下错误。
🚧 Browser logs:
TypeError: Failed to fetch dynamically imported module: http://localhost:8000/test/my-element.test.ts?wtr-session-id=ohiw61aMlyXpLj5BAM5x_
❌ Could not import your test module. Check the browser logs or open the browser in debug mode for more information.
我尝试建立一个与“lit-element-ts-esbuild”的官方 WTR 示例具有相同结构和 src 的清晰项目,但我仍然遇到同样的问题。
对于我的vite项目,我已经安装了推荐的vite插件(@remcovaes/web-test-runner-vite-plugin),但仍然出现错误消息。
我也有同样的问题。当我调整 web-test-runner 配置文件后,问题就解决了。
web-test-runner.config.mjs
import { vitePlugin } from '@remcovaes/web-test-runner-vite-plugin';
export default {
files: [
'**/*.test.ts', // include `.test.ts` files
'!**/node_modules/**/*', // exclude any node modules
],
concurrency: 10,
nodeResolve: true,
watch: true,
plugins: [vitePlugin()],
};
package.json
"scripts": {
"test": "web-test-runner",
},
您还可以使用“@web/dev-server-esbuild”中的 esbuildPlugin 而不是 @remcovaes/web-test-runner-vite-plugin。
modern-web.dev/guides/test-runner/typescript/
带有“@open-wc/testing”包的简单测试示例
open-wc.org/docs/testing/testing-package
sum.test.ts
import { expect } from '@open-wc/testing';
import { add } from './sum'
it('sums up 2 numbers', () => {
expect(add(3, 14)).to.equal(15);
expect(add(3, 12)).to.equal(15);
});