我继承了Angular应用程序,该应用程序在几年前就开始使用。我被赋予的任务之一是使我们的测试继续进行-因为过去一年或更长时间没有进行过测试。这最初是Angular 2应用,现已更新至2.3.1左右。目前,我们无法进行进一步的更新,因为这将涉及大量重构,我们需要在以后进行处理。
这是问题,当我运行ng test
时,它会生成一些初始测试。但是,当浏览器窗口打开时,虽然我看到Karma详细信息并显示Karma v1.20 - connected
(请参见图片),但没有看到任何失败或通过Jasmine传递的实际文件列表。
就像茉莉花部分已被禁用。还是隐藏在这里?不确定。这是我希望看到的(另一个应用程序的测试结果截屏):
仅供参考,在命令行中,我看到测试已经运行(所有都通过了):
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
});
};
答案 0 :(得分:0)
您可以在DEBUG屏幕中查看结果。view screenshot
答案 1 :(得分:0)
尝试将以下行添加到karma.conf.js
client: {
clearContext: false
}