私はスカラモックを使用しておりclose()
、RabbitMQcom.rabbitmq.client.Channel
クラスのメソッドが呼び出されていることを確認しようとしています。問題は、close()
メソッドが と の 2 つのオプションでオーバーロードされて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()
オーバーロードされたどの関数を呼び出すかについてコンパイラが混乱しているため、上の行はコンパイルされません。
オーバーロードされた関数の引数なしバージョンが呼び出されることを確認するにはどうすればよいですか?