问题标签 [mocha-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 投票
1 回答
374 浏览

javascript - 如何模拟 navigator.language 进行打字稿单元测试

如何模拟要从单元测试中定义的 navigator.language?

下面的代码返回

ReferenceError:未定义导航器

语言服务.ts

语言服务.spec.ts

这听起来像是一项基本任务,但事实并非如此,因为即使我尝试在窗口对象上手动定义导航器,打字稿也会抛出一个错误,指出导航器是只读的。

0 投票
1 回答
871 浏览

unit-testing - 使用 Mocha + webpack 测试单文件组件时,在 vuejs 上的单元测试中加载测试时发生 RUNTIME EXCEPTION Exception

我有现有的项目来使用单个组件进行单元测试,但是当我编译时会出错。

我的package.json文件是

登录.spec.js

我正在使用带有 mocha-webpack 的 npm 6.4.1 和 vue 2.6.6 来运行我的测试。

webpack.config.js :

知道如何解决这个问题吗?(我按照网上的例子和 npm mocha-webpack 页面,但无法解决)。

0 投票
2 回答
671 浏览

vue-cli-3 - vue-cli 生成的单元测试抛出异常

使用 vue-cli(v3.5.1) 创建项目后,自动创建的单元测试在我运行时失败:'npm run test:unit'。

运行 'vue create' 后,我手动选择了以下选项:TS、Router、Vuex、Linter、Unit、E2E,类样式组件语法:yes,Babel:no,历史模式:no,linter:TSLint,Lint on save ,单元测试解决方案:Mocha,E2E 测试解决方案 Cypress,配置文件:专用文件在此处输入图像描述

'npm run test:unit' 的输出如下。

我尝试修改用于运行测试的 npm 脚本,如下所示(不确定包含是否来自 Node,而且我认为它不应该是),但我只是收到一条错误消息,指出 perf_hooks 是'在 \node_modules\mocha-webpack\lib 中找不到。

代码示例: https ://github.com/derek-baker/super-duper-guacamole

0 投票
5 回答
8702 浏览

angular - 如何修复“错误:预计在 'ProxyZone' 中运行,但未找到。” 在摩卡测试中?

我正在尝试使用mochachaiwebpack测试我的英雄之旅 Angular 应用程序。我已经关注了这篇文章并在本指南的帮助下完成了设置并修复了构建错误并进行了测试并运行。

async()但是,我的测试失败了,除了我没有在beforeEach钩子中使用的测试用例。

通过测试


未通过测试


错误堆栈跟踪

1) 仪表板组件

我已经尝试过Angular 5 Testing: E​​xpected to be running in 'ProxyZone',但没有找到它,因为我认为这是zone.js使用mocha的一些错误,但没有成功。

另外,我尝试按照Mocha 文档进行异步测试,但作为初学者,这对我来说有点困难。

我尝试过谷歌搜索,甚至在stack-overflow中搜索过,但是关于使用mocha进行Angular 测试的帖子数量有限。感谢您提供任何帮助。

0 投票
1 回答
1424 浏览

vue.js - 测试 Vue 组件:无法挂载组件:未定义模板或渲染函数

我正在使用 Mocha 为 Vue 组件编写测试,但似乎无法解决此警告:

经过一番研究,似乎出现此警告的大多数其他实例都涉及使用vue-router. 但是,我没有使用那个库。

我什至在像下面这样一个非常基本的组件中也看到了警告。它大致遵循这个例子:Testing Single-File Components with Mocha + webpack

在浏览器中一切正常,但测试显示了一些不寻常的行为。这里有两个测试,都是非常基础的。第一次通过,第二次失败。这两个测试都会触发有关未定义模板或渲染函数的警告。

第二次测试失败,因为似乎没有设置道具。测试失败说:

根据ue-test-utils文档,我认为这将是一个简单的测试,所以我对它为什么会失败感到困惑。

我不确定是否有一些我遗漏的预编译片段或其他东西。我已经尝试使用mocha-webpack更新的测试运行程序运行这些测试,mochapack但结果是相同的。

关于如何删除该警告并让这些测试通过的任何建议?

0 投票
3 回答
2392 浏览

vuejs2 - 获取 [Vue 警告]:未知的自定义元素:即使 bootstrap-vue 已注册

自定义 Vue 组件中的 BootstrapVue b-modal 组件在浏览器中正确加载。但是,当使用 mocha+mochapack 进行测试时,它会生成一个 Vue 警告,提示 b-modal 元素未注册。该测试使用已注册 BootstrapVue 的 localVue 对象。所有其他引导程序自定义元素似乎都正确加载,并且不会生成任何警告。

我尝试了各种方法,包括从“bootstrap-vue”导入 BModal 并将其直接注册为组件,但仍然出现相同的错误。

自定义 Vue 组件:

测试正确运行并通过,但它输出 b-modal 元素的 Vue 警告。它不输出 b-form 的警告。

0 投票
1 回答
7271 浏览

node.js - 导致此问题的原因:“超过 10000 毫秒的超时。对于异步测试和挂钩,请确保调用了“done()”;。”

在 VueJs Web 应用程序中,我们使用 vue-test-utils 和 mocha-webpack 编写了 500 多个单元测试用例(在所有模块中),使用 nyc 进行覆盖率报告。考虑一个目录中的每个模块。当我为特定模块运行测试用例时,报告会成功生成测试用例结果(通过或失败)。但是一次性运行所有测试用例(通过在 package.json 中设置路径),所有测试用例都不会执行并抛出以下错误:

超过 100000 毫秒的超时。对于异步测试和钩子,确保调用了“done()”;如果返回 Promise,请确保它已解决。

我已经看到类似的问题,建议在代码中使用异步等待或增加超时来解决这个问题,但是为什么当我为特定模块运行时测试用例会被执行,而当我为整个项目运行时会抛出上述错误。

我尝试在 package.json 中设置 --timeout 100000 并且它有助于大量测试用例,但是在再次运行所有(超过 500 个)单元测试用例时它会引发相同的错误。我认为这与测试用例的数量有关。

是什么导致了这个问题以及如何解决这个问题,以便所有测试用例都能成功运行。?

编辑 如果单元测试中的任何代码导致此超时问题,如何检测导致此问题的测试用例,因为通过查看命令提示符中的日志似乎无法检测问题的根源。任何指针都会有所帮助。

0 投票
1 回答
561 浏览

unit-testing - 使用 VeeValidate 时 VueJS Mocha 测试用例失败

我正在尝试为使用 VeeValidate 库的 UI 编写单元测试用例。UI 代码如下所示:

验证按预期工作。当我尝试编写一个简单的测试用例时:

我收到以下错误:

你能告诉我我的测试用例有什么问题吗?

0 投票
1 回答
89 浏览

vue.js - mocha-webpack - dom 没有更新

我正在使用带有 Webpack4 的 Vue。我被安装mocha-webpack进行测试。但我从摩卡得到了失败的结果。我认为 tocount正在更新,所以我认为要通过测试。但是失败了。为什么我会得到这样的结果?也许,VirtualDom 在运行测试时没有更新。 increment方法在测试中被调用,但没有更新 dom。

测试结果。

setup.js

计数器.vue

Counter.spec.js

包.json

0 投票
1 回答
1414 浏览

visual-studio-code - 如何在 VS Code 中为 vue mocha 单元测试配置调试?

我已经设法启动调试器,但看起来 VS Code 没有看到源映射。

当我添加debuggerJS 语句时,它会中断 webpack 生成的文件main.js(文件系统中不存在事件)但使用它很痛苦。

我有下一个设置:

包.json:

启动.json:

我尝试了不同的方法来指定源映射,但没有任何帮助。

有人有工作设置吗?