【发布时间】:2019-05-16 19:44:55
【问题描述】:
我的 Angular Projekt 中有两个管道。两者的测试看起来相同,只是存在测试。其中一个失败并显示错误消息:An error was thrown in afterAll\nUncaught TypeError: _this.handler.handle is not a function thrown
测试如下所示:
it('create an instance', () => {
const pipe = new MyPipe();
expect(pipe).toBeTruthy();
});
即使我将代码更改为甚至不创建管道它仍然失败。
it('create an instance', () => {
expect(true).toBeTruthy();
});
所以测试本身似乎有问题,但我无法弄清楚原因。
karma.conf.js
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
require('karma-junit-reporter')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'),
reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul', 'junit']
: ['progress', 'kjhtml', 'junit'],
junitReporter: {
outputFile: 'test-results.xml'
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
【问题讨论】:
-
一个答案是确保您没有在 .spec.ts 文件中包含 HttpClientModule。你能分享你的整个测试文件吗(不仅仅是“它”)。但是,当我删除它时,我仍然会经常看到这个“错误”。?
标签: node.js angular karma-runner