如何使用Jasmine Unit测试测试私有方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Jasmine Unit测试测试私有方法相关的知识,希望对你有一定的参考价值。
我想在我的组件中调用一个私有方法
私人方法:
private test(): void {
return true;
}
规格:
it('should call test method and return true', () => {
const response = component.test();
expect(response).toBeTruthy();
});
问题:
说:“属性'测试'是私有的,只能在'MyTestComponent'类中访问。”
答案
你可以用
component['test']();
// OR in your component, add
callMethod() {
this.test();
}
但如果我是你,我会删除私有属性。在javascript中,没有私有属性,只有范围。
如果你想测试你的方法而你不能,那就意味着你应该改变你的代码,而不是让你的测试适应你的代码。这就是你如何获得简单而有效的代码。
(但又一次;这只是我对你问题的两分钱)
以上是关于如何使用Jasmine Unit测试测试私有方法的主要内容,如果未能解决你的问题,请参考以下文章
使用 Angular 和 Jasmine/Karma 的私有方法进行测试和代码覆盖
在Jasmine Unit Test中为PhantomJS配置浏览器语言
使用 Jasmine 对包含私有超时的单元测试 Angularjs 指令