在浏览器中查看Karma测试输出?

bla*_*ter 72 karma-runner

我是Karma的新手,但我想知道如何在浏览器中查看它的输出(很像当一个runner.html文件出现时与Jasmine交互的方式).

我观看了介绍性的截屏视频,并了解了如何在控制台窗口中查看测试输出,但在我的浏览器中,我几乎没有内容为Karma除外

业力 - 连接

请指教!我想避免维护一个单独的runner.html文件,因为Karma配置文件已经要求我包含所有必要的脚本链接.

sto*_*lli 27

AFAIK,前两个答案是正确的,因为你想在浏览器中运行测试; 单击DEBUG并在控制台中查看输出.

礼貌地与之前的答案相矛盾,我经常使用Karma进行完全可变交互的逐步调试.

你问题的正确答案,因为你想要的是基于HTML的输出,是"不".但是,这个业力插件可能会给你你想要的结果.

https://npmjs.org/package/karma-html-reporter


Chr*_*ola 10

您需要使用singleRun = falsein 运行它,karma.conf.js然后单击顶部角落上显示"DEBUG"的按钮.然后你应该看到输出,它不会消失或关闭.您还可以使用控制台进行调试.

值得注意的是,调试e2e测试并不那么容易,因为它们是"未来"的,所以你将无法拦截值(afaik).


Rup*_*ari 5

嗨,就我而言,我通过安装karma-jasmine-html-reporter并将其放入记者阵列解决了这个问题。

  • 安装 npm i -D karma-jasmine-html-reporter
  • 在您的记者中添加“kjhtml”。
  • 添加 client:{clearContext:false}

var gulpConfig = require('./build/build.conf')();
module.exports = function (config) {
    config.set({
        browsers: ['Chrome'],
        basePath: './',
        plugins: [
          // all other plugins
          'karma-jasmine-html-reporter'
        ],
        colors: true,
        client: {
            clearContext: false    // will show the results in browser once all the testcases are loaded
        },
        frameworks: ['jasmine', 'jasmine-sinon', 'sinon'],
        files: [].concat(
            gulpConfig.deps.lib,
            'js/**/*mother*.js',
            'js/**/*mother.*.js',
            'js/**/*.tests.js'
        ),
        logLevel: config.LOG_INFO,
        reporters: ['kjhtml', 'progress', 'coverage'],
    });
};
Run Code Online (Sandbox Code Playgroud)


小智 2

一种选择是在浏览器中打开 Javascript 控制台。Karma 为每个测试创建一个日志条目,包括结果。