首页 > 解决方案 > TypeError: (0 , _slash(...).default) 不是函数

问题描述

当我尝试测试我的角度应用程序时,我无缘无故地收到此错误下面的完整错误

TypeError: (0 , _slash(...).default) is not a function
      at viewWrappedDebugError (../../../packages/core/src/view/errors.ts:28:11)
      at callWithDebugContext (../../../packages/core/src/view/services.ts:638:11)
      at Object.debugCheckAndUpdateView [as checkAndUpdateView] (../../../packages/core/src/view/services.ts:346:10)
      at ViewRef_.detectChanges (../../../packages/core/src/view/refs.ts:261:16)
      at ComponentFixture._tick (../../../../packages/core/testing/src/component_fixture.ts:107:28)
      at ../../../../packages/core/testing/src/component_fixture.ts:120:36
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:391:26)
      at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (../../node_modules/zone.js/dist/proxy.js:129:39)
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:390:52)
      at Object.onInvoke (../../../packages/core/src/zone/ng_zone.ts:273:25)
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:390:52)
      at Zone.Object.<anonymous>.Zone.run (../../node_modules/zone.js/dist/zone.js:150:43)
      at NgZone.run (../../../packages/core/src/zone/ng_zone.ts:171:50)
      at ComponentFixture.detectChanges (../../../../packages/core/testing/src/component_fixture.ts:120:19)
      at src/app/projects/project-create/project-create.component.spec.ts:129:13
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:391:26)
      at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (../../node_modules/zone.js/dist/proxy.js:129:39)
      at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (../../node_modules/zone.js/dist/zone.js:390:52)
      at Zone.Object.<anonymous>.Zone.run (../../node_modules/zone.js/dist/zone.js:150:43)
      at Object.testBody.length (../../node_modules/jest-preset-angular/zone-patch/index.js:52:27)

错误声称正在生成的行对我来说看起来完全合法, fixture.detectChanges();包含在我的beforeEach块中。

beforeEach(() => {
    AppConfig.settings = JSONConfig;
    fixture = TestBed.createComponent(ProjectCreateComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
    el = fixture.nativeElement;
  });

我似乎无法通过堆栈溢出找到解决此问题的方法,而且我很确定我不是唯一遇到此问题的人。提前感谢您的帮助!

编辑 我还发现经常console.log会导致这个 TypeError 并且我已经从组件中删除了所有控制台日志

标签: angularjasmineangular7

解决方案


错误来了,因为ProjectCreateComponent没有正确初始化。您可以共享的初始化代码,ProjectCreateComponent以便可以查找问题。此外,在某些情况下,由于导入模块的方式不正确,会发生此错误。


推荐阅读