gpt4 book ai didi

angular - karma + Jasmine : Cannot read property 'getComponentFromError'

转载 作者:太空狗 更新时间:2023-10-29 17:22:35 28 4
gpt4 key购买 nike

我正在学习本教程:https://angular.io/guide/testing#component-test-scenarios用于 karma + Jasmine 单元测试。这是我的代码:

import { AppComponent } from "./app.component";
import { ComponentFixture, TestBed } from "@angular/core/testing";

describe('AppComponent', () => {

let component: AppComponent;
let fixture: ComponentFixture<AppComponent>;
let h1: HTMLElement;

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ AppComponent ],
});
fixture = TestBed.createComponent(AppComponent);
component = fixture.componentInstance;
h1 = fixture.nativeElement.querySelector('h1');
});

it('should display original title', () => {
expect(h1.textContent).toContain("Ciao");
});

});

当我运行测试时,出现以下异常:

 TypeError: Cannot read property 'getComponentFromError' of null
at TestBed._initIfNeeded (D:/Users/apwzp/AppData/Local/Temp/karma-typescript-bundle-11944DDd01l2f5Y0P.js:1020:52)
at TestBed.createComponent (D:/Users/apwzp/AppData/Local/Temp/karma-typescript-bundle-11944DDd01l2f5Y0P.js:1174:14)
at Function.TestBed.createComponent (D:/Users/apwzp/AppData/Local/Temp/karma-typescript-bundle-11944DDd01l2f5Y0P.js:876:29)
at UserContext.<anonymous> (assets/app/app.component.spec.ts:14:20 <- assets/app/app.component.spec.js:13:37)
at ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:388:26)
at ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/proxy.js:79:39)
at ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:387:32)
at Zone.run (node_modules/zone.js/dist/zone.js:138:43)
at UserContext.<anonymous> (node_modules/zone.js/dist/jasmine-patch.js:106:34)

有人知道怎么解决吗?

最佳答案

我遇到了类似的事情并在这里找到了答案:Cannot read property 'injector' of null jasmine angular 2 .

我刚刚将它添加到我的 beforeEach() 方法中,它为我解决了这个错误(在我完全正常工作之前,我还必须克服其他一些问题)。

 TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(BrowserDynamicTestingModule,
platformBrowserDynamicTesting());

基本上这只是一个改变这个的问题:

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ AppComponent ],
});
fixture = TestBed.createComponent(AppComponent);
component = fixture.componentInstance;
h1 = fixture.nativeElement.querySelector('h1');
});

import { BrowserDynamicTestingModule,
platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';

beforeEach(() => {
TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(BrowserDynamicTestingModule,
platformBrowserDynamicTesting());

TestBed.configureTestingModule({
declarations: [ AppComponent ],
});
fixture = TestBed.createComponent(AppComponent);
component = fixture.componentInstance;
h1 = fixture.nativeElement.querySelector('h1');
});

关于angular - karma + Jasmine : Cannot read property 'getComponentFromError' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49068013/

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