首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行测试后运行的Karma测试屏幕变为空白

执行测试后运行的Karma测试屏幕变为空白
EN

Stack Overflow用户
提问于 2017-08-04 14:28:30
回答 4查看 2.3K关注 0票数 7

在运行ng测试之后,我的测试运行程序开始执行所有的测试,但之后就变成了空白。见下图。

我的因果报应:

代码语言:javascript
复制
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-coverage-istanbul-reporter'),
      require('@angular/cli/plugins/karma')
    ],
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    files: [
      { pattern: './src/test.ts', watched: false }
    ],
    preprocessors: {
      './src/test.ts': ['@angular/cli']
    },
    mime: {
      'text/x-typescript': ['ts','tsx']
    },
    coverageIstanbulReporter: {
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: config.angularCli && config.angularCli.codeCoverage
              ? ['progress', 'coverage-istanbul']
              : ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

我的Package.json devDeps:

代码语言:javascript
复制
"devDependencies": {
"@angular/cli": "1.0.3",
"@angular/compiler-cli": "^4.0.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-coverage-istanbul-reporter": "^0.2.0",
"protractor": "~5.1.0",
"ts-node": "~2.0.0",
"tslint": "~4.5.0",
"typescript": "~2.2.0"

}

会不会是版本问题?也许升级我的卡玛版本?这是通过cli安装的,我相信它运行得更早,但不知怎么的,它已经到了这个地步。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-31 10:12:57

这是因为npm版本依赖:-

代码语言:javascript
复制
 npm i --save-dev jasmine-core@latest
 npm i --save karma-jasmine@latest

安装这两个依赖项,这将解决您的问题。

完全Package.json FYR

代码语言:javascript
复制
{
  "name": "karma-coverage-sample",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "karma start karma.conf.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "istanbul": "^0.4.5",
    "jasmine-core": "^3.5.0",
    "karma": "^1.3.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-coverage": "^1.1.1",
    "karma-jasmine": "^2.0.1",
    "karma-jasmine-html-reporter": "^1.5.1"
  }
}
票数 1
EN

Stack Overflow用户

发布于 2017-09-13 06:55:56

罪魁祸首是client.clearContext选项在业力形态中:

如果为真,Karma将在运行测试完成后清除上下文窗口。如果为false,则在运行测试完成后,Karma不清除上下文窗口。在嵌入Jasmine模板时,将其设置为false非常有用。

为了避免显示屏幕,请禁用此选项,如(karma.conf.js):

代码语言:javascript
复制
module.exports = function (config) {
    config.set({
        /* ... */
        client: {
            clearContext: false
        }
        /* ... */
    })
}
票数 6
EN

Stack Overflow用户

发布于 2017-12-01 18:38:06

我也有同样的问题。设置clearContext标志没有任何区别。

不过,对我来说,只有在使用--代码覆盖参数时才会发生这种情况。我能够通过手动指定记者来解决这个问题:

代码语言:javascript
复制
karma start --code-coverage=true --reporters=progress,coverage-istanbul,kjhtml
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45509381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档