假设我有一个类和一个相关的隐式类:
class Project
implicit class RichProject(p:Project) {
def searchFile(keyword:String):Seq[File] = {
p.getFiles.filter(_.name.contains(keyword))
}
}
然后我想在specs2测试中模拟searchFile
的{{1}}方法:
project
但它会报告val project = mock[Project]
project.searchFile("aa") returns Seq(new File("/aaa"))
,它似乎在真实的NullPointException
内运行,而不是嘲笑它。
是否可以修复它?
答案 0 :(得分:3)
当您编写project.searchFile
时,searchFile
不是属于模拟对象但属于RichProject
类的方法。所以Mockito不能嘲笑它并试图执行它。
除了模仿RichProject
类本身之外,我还没有解决这个问题。