运行ng test时浏览器输出中未显示的Jasmine测试列表

时间:2019-04-04 17:31:02

标签: angular karma-jasmine

我继承了Angular应用程序,该应用程序在几年前就开始使用。我被赋予的任务之一是使我们的测试继续进行-因为过去一年或更长时间没有进行过测试。这最初是Angular 2应用,现已更新至2.3.1左右。目前,我们无法进行进一步的更新,因为这将涉及大量重构,我们需要在以后进行处理。

这是问题,当我运行ng test时,它会生成一些初始测试。但是,当浏览器窗口打开时,虽然我看到Karma详细信息并显示Karma v1.20 - connected(请参见图片),但没有看到任何失败或通过Jasmine传递的实际文件列表。

enter image description here

就像茉莉花部分已被禁用。还是隐藏在这里?不确定。这是我希望看到的(另一个应用程序的测试结果截屏):

enter image description here

仅供参考,在命令行中,我看到测试已经运行(所有都通过了):

04 04 2019 13:14:48.834:INFO [karma]: Karma v1.2.0 server started at http://localhost:9876/
04 04 2019 13:14:48.836:INFO [launcher]: Launching browser Chrome with unlimited concurrency
04 04 2019 13:14:48.851:INFO [launcher]: Starting browser Chrome
04 04 2019 13:15:15.529:WARN [karma]: No captured browser, open http://localhost:9876/    
Chrome 73.0.3683 (Mac OS X 10.14.4): Executed 5 of 5 SUCCESS (0.199 secs / 0.188 secs)

我已经搜索了各种文件,但是到目前为止,无法找到已被禁用或注释掉的Jasmine代码的一部分。那么,如何在测试运行中找到如何重新启用Jasmine打印输出的功能呢?我可以卸载并重新安装测试包吗?在这种情况下有什么建议?

我还想知道我的karma.conf.js文件是否可能有问题。这是我的样子:

// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html

    module.exports = function (config) {
      config.set({
        basePath: '',
        frameworks: ['jasmine', '@angular/cli'],
        plugins: [
          require('karma-jasmine'),
          require('karma-chrome-launcher'),
          require('karma-jasmine-html-reporter'),
          require('karma-remap-istanbul'),
          require('@angular/cli/plugins/karma')
        ],
        files: [
          { pattern: './src/test.ts', watched: false }
        ],
        preprocessors: {
          './src/test.ts': ['@angular/cli']
        },
        mime: {
          'text/x-typescript': ['ts','tsx']
        },
        remapIstanbulReporter: {
          reports: {
            html: 'coverage',
            lcovonly: './coverage/coverage.lcov'
          }
        },
        angularCli: {
          config: './angular-cli.json',
          environment: 'dev'
        },
        reporters: config.angularCli && config.angularCli.codeCoverage
                  ? ['progress', 'karma-remap-istanbul']
                  : ['progress'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        singleRun: false
      });
    };

2 个答案:

答案 0 :(得分:0)

您可以在DEBUG屏幕中查看结果。view screenshot

答案 1 :(得分:0)

尝试将以下行添加到karma.conf.js

client: {
    clearContext: false
}