我正在使用Jasmin,Karma和Angular TestBed进行Angular中的单元测试。我遇到错误
style="pointer-events:none;"
我正在使用fakeAsync和tick方法。搜索后,我为测试添加了超时参数,甚至还为滴答指定了2000毫秒。
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
使用上面的代码没有运气。根据{{3}},我尝试过,但是它对我不起作用。我没有选择第一个解决方案,因为我正在使用fakeAsync而未完成
it('Should setup the initial data', fakeAsync(() => {
fixture.detectChanges();
tick(2000);
expect(getUsersSpy).toHaveBeenCalledTimes(1);
}), 10000);
it('Should ensure form is dirty when user changed', fakeAsync(() => {
fixture.detectChanges();
tick(2000);
fixture.whenStable().then(() => {
userComponentInstance.ngOnInit();
userComponentInstance.onUserChanged();
fixture.detectChanges();
expect(userComponentInstance.userForm.form.dirty).toBeTruthy();
});
}), 10000);
我在其子组件之一中包含以下行。循环创建的子组件
var originalTimeout;
beforeEach(function() {
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
});
afterEach(function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});