Javascript 带Karma的测试照明元件网络组件
我试图创建一个空白的项目,像一个模板,使用点燃的html。我还想添加一些测试功能,所以我一直在尝试让它与Karma一起工作 我可以运行一个正常的测试,就像一个加法器,没有任何错误,所以我认为Karma本身运行正常。但是我不能运行任何涉及网络组件的测试我无法导入网络组件强> 我正在使用以下内容导出网络组件:Javascript 带Karma的测试照明元件网络组件,javascript,karma-runner,web-component,lit-element,web-component-tester,Javascript,Karma Runner,Web Component,Lit Element,Web Component Tester,我试图创建一个空白的项目,像一个模板,使用点燃的html。我还想添加一些测试功能,所以我一直在尝试让它与Karma一起工作 我可以运行一个正常的测试,就像一个加法器,没有任何错误,所以我认为Karma本身运行正常。但是我不能运行任何涉及网络组件的测试我无法导入网络组件 我正在使用以下内容导出网络组件: 导出默认类MyComponent… 然后在我导入的测试文件上: 从“路径组件/MyComponent”导入MyComponent 当我运行测试时,我得到: Error loading test f
导出默认类MyComponent…
然后在我导入的测试文件上:
从“路径组件/MyComponent”导入MyComponent
当我运行测试时,我得到:
Error loading test file: /test/example.test.js
TypeError: Failed to fetch dynamically imported module: http://localhost:9876/base/test/example.test.js
我在github repo上有它,所以如果您需要查看我安装的其他软件包,您可以更好地查看
非常感谢您的帮助。谢谢大家! 错误消息是由
/test/example.test.js
引用的模块引起的-错误消息有点欺骗性
无法获取动态导入的模块
线索是您没有动态导入(即使用const module=await import('path')
时,如果失败,您将在该行中得到一个异常)-静态导入。该错误消息不是因为找不到http://localhost:9876/base/test/example.test.js
,它无法在该文件中找到嵌套引用
在猜测示例中,test.js
包含一个导入
,其相对路径未提供:
import * as testFramework from './testFramework';
export default class MyComponent...
这在TypeScript和linting工具中工作,因为它可以将/testFramework
解析为/testFramework.d.ts
,/node\u modules/@types/testFramework.d.ts
或您正在使用的任何类型的查找
但是,在浏览器中,它不知道您实际上想要/testFramework.js
或/testFramework/index.js
,它直接请求/testFramework
,获取404,然后为调用组件提供该错误
简言之:
- 如果静态导入(即使用
)import*from…
- 但是你得到
- 该错误实际上与
中的另一个静态filename.js
有关,而不是获取import
本身filename.js