gpt4 book ai didi

Angular 2 - 单元测试 : How to expect throw new Error ("error") from component

转载 作者:太空狗 更新时间:2023-10-29 17:33:31 26 4
gpt4 key购买 nike

我通过 jasmine + karma 为 angular 2 编写单元测试。
我有组件检查异常并抛出错误。并编写单元测试来检查这种情况。
但是我在触发 fixture.detectChanges();

时看到一条错误消息

'Unhandled Promise rejection:'

我该如何解决这个案例。请参阅下面的我的代码。谢谢

**MyComponent.ts**

ngOnInit() {
if (this.erorr) {
throw new Error("error");
}
}

**AppModule.ts**

class MyErrorHandler extends ErrorHandler {
handleError(error) {
console.log("error");
location.href="/error"
}
}

和一个单元测试文件

**MyComponent.spec.ts**

describe('My Management Test', () => {
beforeEach(async( () => {
TestBed.configureTestingModule({
declarations: [ MyComponent ],
providers: provider,
schemas: [CUSTOM_ELEMENTS_SCHEMA],
imports: imports
}).compileComponents().then(() => {});
}));

beforeEach(inject([MockBackend], (mockBackend: MockBackend) => {
Connection(mockBackend);
fixture = TestBed.createComponent(MyComponent);
}));

it('Go to contact management page', (done) => {
fixture.detectChanges();
//Need to check if component throw error
});
})

最佳答案

试试这个:

expect(() => fixture.detectChanges())
.toThrowError(TypeError /*or another error type\*/);

关于Angular 2 - 单元测试 : How to expect throw new Error ("error") from component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47805546/

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