我正在使用 scalamock 并试图验证close()
RabbitMQcom.rabbitmq.client.Channel
类中的方法是否被调用。问题是该close()
方法重载了两个选项:close()
和close(int, String)
. 我想验证是否调用了无参数版本。
我尝试了以下代码:
import com.rabbit.client.Channel
import org.scalatest.Wordspec
import org.scalamock.scalatest.MockFactory
class MessageSubscriberSpecs extends WordSpec with MockFactory {
"A message subscriber" when {
"closing a connection" should {
// ... More test setup
"close the underlying connection" in {
val channelStub = stub[Channel]
(channelStub.close _).verify()
}
}
}
}
带有verify()
on 的行无法编译,因为编译器对调用哪个重载函数感到困惑。
如何验证是否调用了重载函数的无参数版本?