Scalamock 3 с интерфейсом Java

У меня проблемы с тем, чтобы заставить Scalamock 3 издеваться над интерфейсом Java. Я пытаюсь запустить описать экземпляры на AWS. Для вызова требуется клиент EC2, над которым я издевался, используя метод, описанный в руководстве. Я получаю ошибку:

Error:(20, 42) type mismatch;
 found   : com.amazonaws.services.ec2.model.DescribeInstancesRequest
 required: org.scalamock.function.FunctionAdapter0[Boolean]
    (client.describeInstances _).expects(request).returning(result.withNextToken("1").withReservations(res1))
                                     ^

Нужно ли делать что-то особенное для интерфейса Java?

package example

import com.amazonaws.services.ec2.AmazonEC2
import com.amazonaws.services.ec2.model.{ Instance, Reservation, DescribeInstancesRequest, DescribeInstancesResult }
import org.scalatest._
import org.scalamock.scalatest.MockFactory

class ApiSpec extends FunSpec with MockFactory {

  describe("getInstances") {
    val client = mock[AmazonEC2]
    val request = new DescribeInstancesRequest
    val result = new DescribeInstancesResult
    val instance1 = (new Instance).withInstanceId("i-000")
    val instance2 = (new Instance).withInstanceId("i-000")
    val res1 = (new Reservation).withInstances(instance1)
    val res2 = (new Reservation).withInstances(instance2)
    (client.describeInstances _).expects(request).returning(result.withNextToken("1").withReservations(res1))
    (client.describeInstances _).expects(request.withNextToken("1")).returning(result.withReservations(res2))
  }

}

0 ответов

Другие вопросы по тегам