gpt4 book ai didi

node.js - Karma Pipe Test : _this. handler.handle 不是抛出的函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:10 24 4
gpt4 key购买 nike

我的 Angular Projekt 中有两个管道。两者的测试看起来是一样的,都是存在性测试。其中之一失败并显示错误消息:AfterAll 中引发了错误\nUncaught TypeError:_this.handler.handle 不是抛出的函数

测试如下所示:

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
});

最佳答案

您应该确保代码中满足以下条件:

  • 在“规范”中,您不包含 HttpClientModule,而是使用 HttpClientTestingModule

请参阅此处关于该帖子的 SO 帖子: TypeError: _this.handler.handle is not a function error

  • 还要确保任何来自 http 请求的订阅都有错误 block 。

错误:

  this.myservice.func().subscribe(result => {
// do stuff
})

右:

  this.myservice.func().subscribe(result => {
// do stuff
}, error => {
// process error
})

请参阅有关该帖子的 SO 帖子: Angular5 / ng test ERROR : TypeError: this.handler.handle is not a function

(最佳答案)请注意,如果您在 ngInit 中进行某种服务调用,则尤其如此。

关于node.js - Karma Pipe Test : _this. handler.handle 不是抛出的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55742689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com