Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带Karma的测试照明元件网络组件_Javascript_Karma Runner_Web Component_Lit Element_Web Component Tester - Fatal编程技术网

Javascript 带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

我试图创建一个空白的项目,像一个模板,使用点燃的html。我还想添加一些测试功能,所以我一直在尝试让它与Karma一起工作

我可以运行一个正常的测试,就像一个加法器,没有任何错误,所以我认为Karma本身运行正常。但是我不能运行任何涉及网络组件的测试我无法导入网络组件

我正在使用以下内容导出网络组件:
导出默认类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

  • 该错误实际上与
    filename.js
    中的另一个静态
    import
    有关,而不是获取
    filename.js
    本身
“网络”选项卡将指出哪个依赖项是问题所在,因为它是404,修复方法是使用构建工具解决这些导入,或者将.js文件的完整相对路径放在源代码中