问题标签 [karma-mocha]
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.
javascript - 使用 karma-webpack 时找不到模块错误
我有以下karma.conf.js
文件,我还有一个名为的测试文件example.spec.js
,它位于app/compontents/example/example.spec.js
我试图导入我的Example.js file
但是我得到了以下错误Error: Cannot find module "app/components/Example/Example.jsx"
我尝试了许多不同的想法,例如./Example.jsx
, ./Example
,components/Example/Example.jsx
但每次我得到相同的错误。
javascript - Angular 无法识别提供程序内部的函数
首先是我想要实现的一点背景。我有一项服务需要在注入和使用之前进行一些配置。在做了一些研究之后,我认为拥有该服务的提供商将是最好的解决方案。所以我根据这个例子实现了提供者。即使 Typescript 编译器(我正在使用 typescript 将我的代码编译成有效的 JavaScript)认为没问题,JavaScript 也无法识别可通过提供程序设置某些选项的函数。
我的代码如下所示(某些代码因某种原因被遗漏或重命名)
在我的一个单元测试中使用提供程序(我使用 Karma 和 Mocka 进行测试)并调用该setOptions
函数时会出现问题。像这样完成的。
运行此测试时,Karma 会抛出错误消息
TypeError:provider.setOptions 不是 Context 中的函数。[匿名]
此外,已编译的 JavaScript Visual Studio 代码在线上的提供程序变量上给了我一个绿色警告(我不认为这是一个错误).provider('CustomService', CustomServiceProvider);
'() => void' 类型的参数不能分配给'IServiceProvider' 类型的参数。类型“() => void”中缺少属性“$get”。
(local var) CustomServiceProvider: () => void
Providers
我已经花了几个小时来解决这个问题,但似乎找不到解决方案。关于如何解决我做错了什么的任何想法?
提前致谢。
编辑 (30-09-2015)
我正在谈论的服务如下所示:
unit-testing - Karma 可以在不再次运行整个套件的情况下刷新文件更改吗?
我通过 Grunt 使用 Karma。autoWatch = true
我们有大约 1000 个测试,每当我们更改文件 ( )时让它们全部运行有点痛苦。
这就是我们现在正在做的事情:
- 使用 启动 Karma
singleRun=false, autoWatch=false
。 - 打开特定套件的调试页面和 grep(使用 mocha html 报告器)。
- 更改与该套件相关的测试或文件。
- 刷新调试页面以再次运行测试集。
- 我在 (3) 中的更改尚未被 Karma 接收,因此测试仍然表现得好像什么都没有改变。
这就是我需要的:
- 使用 启动 Karma
singleRun=false, magicOption=true
。 - 打开特定套件的调试页面和 grep(使用 mocha html 报告器)。
- 更改与该套件相关的测试或文件。
- 刷新调试页面以再次运行测试集。
- 我的更改得到了正确的选择,并且只运行了 grepped 测试。
如果我设置autoWatch=true
我得到我需要的东西,但是每当我更改文件时,整个 1000 个测试套件都会在后台运行,这很快就会崩溃我的环境。
我不认为有任何相当于magicOption
根据 Karma 文档的东西,但是,有没有办法实现相同的行为?
非常感谢。
mocha.js - Mocha 接口:未捕获的 ReferenceError:`describe` 未定义
我正在使用 Gulp 使用 mocha/sinon/chai 和 jquery 运行业力
我的 karma.conf.js 有:
并且安装的节点模块是
但是当我运行业力时,我得到了这个错误
我已经尝试在全球范围内安装 karma-mocha 和 mocha。我尝试将 karma-mocha 作为 karma.conf.js 上的插件
javascript - 角度测试类型错误
已经在 karma、Mocha chai 和 sinon 中尝试过一个测试用例。
使用该服务后出现错误。这是我的错误。请任何帮助。
这是我的indexcontroller.js
这是我对 indexcontroller 的测试。indeccontroller.test.js
这是我的共同服务
这是我对服务的测试。
karma-runner - XHR 和访问控制允许来源
我正在测试的一种方法将 XMLHttpRequest 发送到“ http://localhost:4848/qrs/extension/schema?xrfkey=asdfasdfdf ”。我收到一个看起来像这样的错误 -
现在我知道测试是在“localhost:9876”上提供的,尝试访问 localhost:4848 实际上违反了跨域策略。我看过业力代理设置并尝试过-
但这样做实际上从“ http://localhost:9876/qrs/extension/schema?xrfkey=asdfasdfdf ”中提供了我的内容。但是这样我的客户端代码将不起作用。因为客户端代码直接将 XHR 请求发送到“ http://localhost:4848/qrs/ .....”,而不是“ http://localhost:9876/qrs/ .....”。
任何建议我该如何解决这个问题?
另外,在配置文件中设置不同的标题不是更好吗?至少我们知道我们在这里谈论的是测试(我的意思是不在生产中)。
提前致谢。
angularjs - 如何对 Angular Extend 进行单元测试
我有一个使用角度扩展的控制器。我如何测试角度延伸?
facebook - 使用 React Js 开发的应用程序的测试框架
我正在研究可用于测试使用 React JS 开发的应用程序的测试框架。到目前为止,我已经阅读了 JEST 和 Mocha JS(与 Chai JS 和 Sinon JS 集成),但我仍然无法缩小可用于开发全自动测试框架的范围,我知道 selenium Web 驱动程序对前端有好处测试,是否有更具体的 ReactJS 应用程序?
angularjs - AngularJS & mocha:每次测试前调用 $httpBackend
我正在使用 angularjs 并在 mochajs 中编写测试。我在我的应用程序中实现了多语言支持,现在我遇到了问题,在许多测试用例中,我收到了对我的 language.json 的意外请求
您是否知道如何处理此问题,而无需为每个测试添加语言处理的“$httpBackend.whenGet(.....”?
angularjs - AngularJS 将 $timeout 注入链接?
所以这就是我的问题:
我有一个指令:
我的链接功能如下所示:
和我的控制器(不是很相关):
在我的链接函数中,我有一个(目前)使用 setTimeout 的函数:
我想对这个特定的代码块进行单元测试,但是我的单元测试失败了:
即使在覆盖率报告中,我可以看到单击 triggerHandler 时逻辑确实成功执行。
我认为罪魁祸首是超时。
挖掘 SO 和其他网站,我发现使用 $timeout 效果最好,因为它暴露于“flush()”方法。
我的问题是,我如何“注入” $timeout 到链接函数?
我看到的前面的示例就像将 $timeout 直接注入指令,然后将链接 function() 嵌套在指令声明中:
以上对我不起作用,因为我没有在指令函数中创建函数......所以根据我使用的模型,我如何在链接中使用 $timeout?