【发布时间】:2020-11-20 12:19:30
【问题描述】:
我正在学习使用 jasmine 为我的 Angular 应用程序编写测试用例,但在一个特定的场景中,我有一个调用其他私有函数/方法的组件内部的函数,该函数如下所示
public rPage() {
this.setData(); // private method
this.setPage(); // private method
}
我写了测试用例来测试它如下
it('should call setData from RPage', () => {
//@ts-ignore
const spy = spyOn(component, 'setData');
component.rPage();
fixture.detectChanges();
expect(spy).toHaveBeenCalled();
});
但是当我运行 ng test 时,测试用例失败并显示“预期的 spy setData 已被调用。我应该进行哪些更改才能通过测试用例
【问题讨论】:
-
你打电话给
rPage了吗? -
@BojanKogoj 是的
-
我曾经以
expect(component.setData).toHaveBeenCalled()进行测试,但我怀疑这是一个问题。
标签: angular unit-testing jasmine tdd karma-jasmine