我最近升级到了角6,所有运行良好的测试都失败了,出现了以下错误
TypeError:应该不是一个函数
我使用的是角-Cli 6,我最好的猜测是,这是因为“应该”(npm-package:https://www.npmjs.com/package/should )没有合适的类型。
我在每个使用应该函数的文件中都添加了以下两行。
import should = require('should');
const persist = should; // need to use should library for tests to run https://stackoverflow.com/a/25563303/1373856另外,我使用的是“输入”:"2.1.1“,有人面临类似的问题吗?
发布于 2018-07-25 08:27:02
这不是你在测试中包含依赖的方式(至少,我不是这么学到的)。
打开karma.conf.js.在plugins导出下,添加依赖项:
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('should'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
...现在,在您的测试文件中,只需声明一个变量作为对全局函数的引用:
declare var should: any;如果您有类型,也可以键入它以便在IDE中具有intellisense。
https://stackoverflow.com/questions/51514160
复制相似问题