首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:应该不是一个函数

TypeError:应该不是一个函数
EN

Stack Overflow用户
提问于 2018-07-25 08:23:54
回答 1查看 446关注 0票数 0

我最近升级到了角6,所有运行良好的测试都失败了,出现了以下错误

TypeError:应该不是一个函数

我使用的是角-Cli 6,我最好的猜测是,这是因为“应该”(npm-package:https://www.npmjs.com/package/should )没有合适的类型。

我在每个使用应该函数的文件中都添加了以下两行。

代码语言:javascript
复制
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“,有人面临类似的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-25 08:27:02

这不是你在测试中包含依赖的方式(至少,我不是这么学到的)。

打开karma.conf.js.在plugins导出下,添加依赖项:

代码语言:javascript
复制
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'),
      ...

现在,在您的测试文件中,只需声明一个变量作为对全局函数的引用:

代码语言:javascript
复制
declare var should: any;

如果您有类型,也可以键入它以便在IDE中具有intellisense。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51514160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档