我的代码结构如下:
class A {
def a(x: () => Unit) { do something}
}
class B {
....
def foo() {
def x() { something }
a(x)
}
}
现在我想用模拟A进行B类的单元测试。
val a = mock[A]
def x () { ... }
a.a(x) atLeastOnce
以上不起作用。因为这个新的x不是foo里面的x()。但是foo里面的x是本地的,不能通过unittest访问。除了将x移出foo之外的任何建议吗?
答案 0 :(得分:0)
你必须模拟传入A.a.的函数文字。请查看以下SOF问题的答案,看看是否有帮助