我有一个示例对象:
object Foo {
private def sayFoo = "Foo!"
}
我想测试私有 sayFoo 方法而不使用以下解决方法:
1. 没有定义为package private
2. 不将其定义为 protected 并在测试类中继承它
我看到一种可能的解决方案是扩展 privateMethodTester 但它没有
似乎只适用于类的对象。
现在,我知道有些人(如果不是很多的话)说您不应该测试私有方法,而只能测试公共方法(api)。尽管如此,我仍然想测试它们。
谢谢提前
它无法通过任何标准方法进行测试。
但是,如果您需要“覆盖”该代码部分,请测试在其实现中使用该私有方法的方法。这是间接的,理所当然的,但它确实有效地测试了代码。
例如,在您的班级中您可以有另一种方法:
def dontSayBar = {
sayFoo()
println("Other processing...")
}
如果经过测试,这将“覆盖”私有方法中的代码。
附:一个好的经验法则是,如果您看到代码未显示在coverage运行,那么您可能实际上并不需要该代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)