我继承了几年前首次开发的 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
});
};