如何使用Jasmine Unit测试来测试私有方法

时间:2018-01-04 10:37:45

标签: angular unit-testing jasmine

我想在我的组件中调用私有方法

隐私方法:

  private test(): void {
     return true;
  }

Spec It:

  it('should call test method and return true', () => {
     const response = component.test();
     expect(response).toBeTruthy();
  });

问题:

  

说:“财产'测试'是私有的,只能在课堂上访问   'MyTestComponent'。“

1 个答案:

答案 0 :(得分:1)

您可以使用

component['test']();
// OR in your component, add
callMethod() {
  this.test();
}

但如果我是你,我会删除私有属性。在Javascript中,没有私有属性,只有范围。

如果您想测试自己的方法,那么就意味着您应该更改代码,而不是让您的测试适应您的代码。这就是你如何获得简单有效的代码。

(但又一次;这只是我对你问题的两分钱)