问题标签 [karma-qunit]

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 投票
2 回答
954 浏览

node.js - 如何在 Karma 上使用 git 安装 qunitjs?

我正在尝试解决karma 中的这个错误

自 v1.14.0 以来, QUnit 已针对该错误进行了修复,因此我想从 git 安装 qunit 以使用 karma-qunit。

然后我运行业力,我得到一个错误,即使./node_modules/qunitjs存在一个package.json文件:

安装 qunit 时不会出现该错误npm install qunitjs。有谁知道发生了什么?

我正在使用 npm 1.4.16 和节点 0.10.25。

0 投票
1 回答
332 浏览

ember.js - 由于`ReferenceError: Faye is not defined`,使用 QUnit 和 Karma 测试 Emberjs 应用程序失败

我正在使用 Qunit 和 karma runner 测试 EmberJs 应用程序,它运行良好。然后我不得不将 faye 集成到运行良好的应用程序中,但是在运行我的测试套件时,它显示以下错误和崩溃:

ReferenceError: Faye 未定义

错误抛出的地方,我在 emberjs 中定义客户端

尽管这在开发,分期但在测试中有效。这边,uri = "http://localhost:9292/faye"

faye.js 包含在在 app.js 之前加载的 vendor.js(包含 ember.js 和 ember-data.js 本身在内的所有 js 插件的单个 js 文件)中(存在上述行的文件)

0 投票
1 回答
199 浏览

unit-testing - Karma/QUnit 单元测试外部站点

我有一个在一个端口上运行的门户应用程序 - http://localhost:10039。我正在尝试对单个 Ember.js 应用程序进行单元测试,这些应用程序通过 portlet 加载到 Portal 应用程序中。

我想做的是让这些 QUnit 测试针对完整的应用程序运行,该应用程序在我提到的另一个端口上运行。然而,Karma 似乎不喜欢在与运行应用程序的端口不同的端口上运行测试套件。

例如:

...在端口 9876 上成功启动 Karma,但结果...

是否可以在 上运行我的测试套件http://localhost:9876,并让它针对另一个网站/端口运行测试http://localhost:10039

我能得出的最接近答案的是Karma proxies,尽管代理似乎没有效果。Karma 仍在针对与其自身端口相关的链接进行测试9876

我想补充一点,如果只能在其他地方完成——Jasmine、Mocha 等,我对其他测试框架持开放态度。

谢谢!

0 投票
0 回答
711 浏览

typescript - 将 Karma 与 SystemJS、gulp 和 TypeScript 一起使用时出错

我是node.jsstack likenpm等的新手gulp。我之前写了一些 JavaScript 单元测试用例,现在想Karma用作测试运行程序。但是,经过几次尝试,我现在完全迷失了。

首先,我有以下项目配置:

  • SystemJS作为模块加载器。
  • 文件夹结构(为简洁起见省略了一些):

    /li>
  • karma.conf.js

    /li>

但是,每当我这样做时karma start,我都会出错Uncaught TypeError: Unexpected anonymous System.register call.。有没有办法解决这个问题?

其他尝试:

  1. 根据https://github.com/karma-runner/gulp-karma尝试创建一个 gulp 任务。但是有同样的问题。
  2. 尝试使用karma-systemjs. 不同之karma.conf.js处如下:

    在这种情况下,我得到了以下错误,尽管我已经安装了SystemJs两者Babel

    /li>

在这方面的任何帮助都会很棒。

0 投票
0 回答
169 浏览

ember.js - Ember:如何覆盖实际代码,而不是转译代码

我正在尝试在现有项目上设置 CI,有些使用 CoffeeScript,有些使用 ES6 语法。但是我找不到在实际代码上获得适当代码覆盖率的方法。我所拥有的只是转译代码的覆盖范围,似乎我什至无法将其发布到 CodeClimate。

我试过了:

  • ember-cli-blanket:在 stackoverflow 上找到。它仅在转译源上给出结果:

    事实上,目前 lcov 输出中的 es6 模块名称与原始输入文件之间没有直接映射。

  • ember-cli-code-coverage:更简单但仍可在转译源上运行
  • 业力:(链接到 Ember 和业力的教程)这里 PhantomJS 抱怨 ES6 语法“导入”(这是正常的)。
    • 我尝试使用预处理器来转译代码。
    • browserify,webpack等有很多可能的事情......但我没有弄清楚如何正确设置任何东西。
    • 我发现这个要点可能很有趣,因为它结合了 karma、browserify、babelify、Istanbul 和 PhantomJS,只缺少 qunit。但是我没有成功地做任何事情。
0 投票
2 回答
633 浏览

asp.net-mvc - 使用 Jasmine 和 Karma 在 ASP.NET MVC 中对 JavaScript 进行单元测试

我正在编写一个示例 ASP .NET MVC 应用程序,它具有 karma 和 requirejs 来测试脚本。我看到下面的错误Uncaught (in promise) 错误:没有运行测试。

我在命令提示符 Chrome 77.0.3865 (Windows 10.0.0) 中看到以下错误:Executed 0 of 0 ERROR (0.012 secs / 0 secs)

包.json

我的 karma.conf.js

}) }

我的 test-main.js

我的 test.specs.js

0 投票
0 回答
63 浏览

sapui5 - 为 karma runner 设置静态路径

我是业力测试的新手,但我能够准备我的 OpenUI5 应用程序进行测试。我的测试工作目录有问题,因为我的测试需要使用预先填充的 sqlite3 数据库。为了测试,我使用带有参数'--user-data-dir="C:\tmp" --profile-directory="karma"'的chrome,我可以将此文件放入chrome配置文件路径中。但是我不能用业力来做到这一点,因为业力总是从路径中随机生成的 id (karma-xxxxxx) 开始。

我正在尝试使用上述 chrome 参数运行自定义浏览器配置,但它也不起作用。

有了这个配置,chrome总是这样启动,所以自动测试不起作用: 在此处输入图像描述

我还应该做什么?谢谢你。

0 投票
0 回答
61 浏览

javascript - 如何在 Qunit 测试框架中检查代码覆盖率

我们尝试在不同的工作空间中实现伊斯坦布尔和业力。

伊斯坦布尔:- 我们已经安装了 nyc 包来运行测试用例。之后,当我们运行 nyc qunit 时,我们在 config.js 文件中出现以下错误。不行 1 test\config.js > 无法加载测试文件并出现错误:ReferenceError: requirejs is not defined

对于 Karma:在使用 Karma 的其他情况下,我也收到错误未定义 requirejs,当我们使用 Karma 时不需要 config.js 文件。在这里,我们在 main.js 文件中遇到错误。它不接受导入语句“import ../src/js/tests/unit/align.js” 我尝试使用 require 而不是 import 但再次给出错误(转换为 ES6 模块)

对于测试运行器,我们使用 puppeteer,但我不确定我们是否可以看到 puppeteer 的代码覆盖率