问题标签 [karma-webpack]

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 投票
0 回答
529 浏览

node.js - Jasmine,Karma:获取模拟不起作用

我正在尝试使用fetch-mock在 Jasmine/Karma 测试中模拟Fetch

但它不起作用,似乎fetch-mock没有模拟请求。
我尝试设置 polyfill 代码,但结果是一样的。

在测试之前我们需要设置什么吗?

0 投票
2 回答
1488 浏览

angular - Karma DEBUG RUNNER 中没有 Angular 源映射

由于最近升级到最新的angular-cliand angular,我不再在 Chrome 中看到 source-maps Karma debug runner

做了一些研究后,我发现了这个ng test --sourcemaps=true选项,但这并没有什么区别,没有webpack://像以前那样在 chrome 调试工具源选项卡中的文件夹。

ng -v日志:

业力.conf:

0 投票
0 回答
396 浏览

phantomjs - 业力+webpack+typescript+mocha 要求未定义

我尝试配置我的环境以在节点上运行测试。 这是我的 webpack.config.test.js

业力.config.js

测试1

测试2

当我使用 mocha-webpack 运行 mocha + webpack 时,测试运行没有问题。

包.json

当我根据我用来显示消息的浏览器从业力执行此操作时,我会抛出类似的错误,当我使用 jsdom 或 PhantomJS 抛出它时,我会抛出以下内容

要求未定义 o 找不到

在 git 中查看,解决问题的唯一答案是将 karma 的处理器放入以下内容。

这是相同的方式,我已经改变了,但错误仍在继续。

水图像介绍

水图像介绍

0 投票
0 回答
740 浏览

typescript - WebStorm + Webpack + Karma - 无法调试

我已经搜索了 [webpack] 类别中的所有问题,但无济于事。以下没有工作:

背景:我正在尝试从这个种子spec.ts调试文件。我无法添加调试点——我遇到的所有解决方案都不允许触发它们。

文件:

webpack.config.js

业力.conf.js:

包.json:

提前谢谢你。

0 投票
1 回答
289 浏览

angular - Karma 和 Angular2 - 混合隔离和非隔离测试会导致运行时注入失败

我正在尝试创建一个模型来支持 Angular 2 应用程序。我是 Angular2 的新手,所以请多多包涵。

该模型是我们想要迁移到 TypeScript 的旧 Java 代码库的一个端口。在这样做时,我们正在重新创建将被归类为“隔离”测试的测试

问题:

添加隔离测试后,种子中的所有Angular2 测试都失败,并在 Karma 中出现类似错误:

我遗漏了更多错误,因为它们对于每个规范文件都是相似的:https ://github.com/Nava2/angular-starter/tree/master/src/app 。此 gist中提供了完整的日志输出。

这是 WebStorm 树:

WebStorm 测试树

如果我删除了隔离测试,Angular2 测试就不会再出现错误。

可重现的步骤:

  1. 克隆这个 fork:https ://github.com/Nava2/angular-starter
  2. 跑,npm install
  3. 跑,npm run test

如果我删除app/model/entity.no-testbed.spec.ts,错误就会消失。我不确定它们为什么会发生。如果这不是我应该开发的方式,请让我知道,因为我不想在“实践不足的道路”上浪费时间。

杂项信息

  • 操作系统:Windows 10
  • 节点版本:v8.1.2
0 投票
1 回答
744 浏览

webpack - Karma 无法解决 kot​​lin-frontend-plugin 中的依赖项“kotlin”

我一直试图让它工作一天左右,但没有运气。Webpack 似乎没有将kotlinnpm 模块注入我的测试,即使它是由 webpack 加载的。所以它抛出下面的错误说它找不到它。

这是错误日志:

正如您在这一行的日志中看到的那样[1] ./~/kotlin/kotlin.js 1.31 MB {0} {1},kotlin-stdlib-js 资源正在被 webpack 加载。

它也包含在main您可以看到在此行上加载的捆绑包中

但是,它没有被注入vuekt_test.js. 这就是您在上面看到的错误被抛出的原因。

我不知道如何让它注入kotlin它。

这是我的配置build.gradle

这是karma.conf.js文件:

我需要做什么来解决这个问题?

0 投票
1 回答
880 浏览

angular - 即使我在文件开头声明了 var 语句,Typescript 在单元测试期间仍会抛出未定义变量的错误

我正在使用 angular(2) 和打字稿。我正在使用 moment 库来转换日期,所以我在我的一个实用程序类中有这个函数:

这在浏览器中工作正常,但是当我尝试运行我的单元测试时,它会抛出错误:ReferenceError: Can't find variable: moment in karma-test-shim.js (line 16240)

它所指的线就是if (!moment)线。

  1. 为什么它关心变量是否存在于仅检查变量是否存在的语句中?它没有引用任何属性。
  2. declare var moment: any;在文件的顶部有函数 isoStringToDateObj 所在,那么为什么在实际声明变量时会说引用错误?
0 投票
2 回答
1163 浏览

angular - Lodash 在测试环境中不起作用

我在将 lodash 导入我的测试环境时遇到了问题。我正在测试使用 lodash 的服务。在测试套件中,我以这种方式导入了 lodash:

然后在测试中我能够成功执行:

但是当我运行使用 lodash 的服务方法时 - 我收到一个错误:

这怎么可能?

业力.config.js:

0 投票
1 回答
596 浏览

reactjs - karma.conf.js 中忽略了 babel webpack 配置?

我正在尝试使用 Karma 和 Jasmin 进行我的第一个 JS 单元测试。我正在测试一个反应应用程序。

我用“karma init”生成了业力配置并对其进行了修改,karma.config.js见下文karma.config.js中需要webpack.config,但是完全忽略了babel loader,为什么?我注意到它被忽略了,因为它导致未定义变量等错误......当直接在 karma.config.js(复制/粘贴)中添加 webpack.config.js 的部分时,它可以工作,但这不是我的想要因为我正在复制我的加载程序和别名等代码......如何解决这个问题?另请参阅下面的 webpack.config.js

业力.config.js:

webpack.config.js:

0 投票
0 回答
101 浏览

reactjs - 为什么在对单个 utils 函数进行单元测试时,Karma 会启动我的完整 React 应用程序?

我正在尝试使用 Karma 来测试我的 React JS 应用程序。但是,它会出现各种错误,因为它正在尝试加载/启动完整的应用程序。我的第一个错误是

不变违规:_registerComponent(...):目标容器不是 DOM 元素,它出现在我的 entry.js 中,在 webpack 中作为入口点列出,但我在我的 karma.conf.js 中删除了它。

我在 entry.js 中通过添加 dom 元素来解决它,以防它不存在。然后我试图在一些未定义的历史对象上调用方法“getCurrentLocation()”,它出现在一些不是我的模块中:(

底线:为什么在我的 utils.js 中测试一个方法时,业力会加载/启动我的完整应用程序。我的 test.js 目前看起来像:

我评论了其余部分以隔离错误。下面列出了我的 karma.conf.js 和 webpack.config.js: karma.conf.js:

--- webpack.config.js: