我有一个方法,它是我在Angular中创建的自定义组件的一部分:
public editSite(site: siteModel): void {
this.currentState = pageState.EditSite;
this.editSiteService.siteId = site.guid;
}
我想创建一个测试,在我的Jasmine测试中执行此函数,然后验证this.currentState
和this.editSiteService.siteId
是否已设置为其预期值。
以下是我目前测试中的内容:
describe('method: editSite()', () => {
it('should execute and set variables accordingly', () => {
// Arrange - Act
const editSiteSpy = spyOn(component, 'editSite').and.callThrough();
// Assert
expect(editSiteSpy).toHaveBeenCalled();
});
});
我正常设置组件和夹具:
let component: SiteComponent;
let fixture: ComponentFixture<SiteComponet>;
fixture = TestBed.createComponent(SiteComponent);
component = fixture.componentInstance;
然而,当测试运行时:
SiteComponent方法:editSite()应执行并相应地设置变量FAILED
有关为何可能发生这种情况的任何线索?有没有更好的方法来测试我正在寻找的功能?
由于