角度测试私有方法

Ser*_*gey 1 testing unit-testing jasmine typescript angular

我构建了一种队列管理器,它与 RxJs 可观察对象一起工作并一一执行它们。现在我想测试这个,但是我想测试的所有方法都是私有的。

公共接口只有两个方法来创建可观察对象并将其添加到队列管理器。

如果我尝试进行类似spyOn(myService, 'privateMethod')PhpStorm 的分析,则表明它不可分配给类型(并且引用公共方法)。

我无法将其提取到公开的内容中,因为这是一个复杂的逻辑,不应该从外部中断。

小智 5

您可以使用spyOn<any>(myService, 'privateMethod')它来绕过它。

但是,如果您的方法是私有的,则不应测试它们,它们应该是实现细节。相反,您应该测试公共函数的最终结果。