以下是我尝试测试的方法:
showSnackbar(): void {
if (this.modifiedReferences.length) {
const snackbar = this.snackbarService.open({
message: '',
type: 'success',
duration: 10000,
actionText: 'SHOW DETAILS'
});
snackbar.instance.actionClicked.subscribe(() => {
this.dialogService.modal(ModifiedComponent);
});
}
}
这是测试:
it('should call the showSnackbar method', () => {
const showSnackbarSpy: jasmine.Spy = spyOn(TestBed.inject(SnackbarService), 'open');
component.showSnackbar();
expect(showSnackbarSpy).toHaveBeenCalled();
});
当我尝试测试时,它显示zn错误,说它无法读取未定义的属性"instance"。
对我来说,在我的TestBed.configureTestingModule()
解决了这个问题之后添加.compileComponents()
。