Я играл со ScalaMock. Я написал KISS-версию ошибки, с которой столкнулся, когда пытаюсь использовать ScalaMock для имитации объекта в тестовом примере.
import akka.http.scaladsl.server.Route
import org.scalamock.scalatest.MockFactory
import org.scalatest.FlatSpec
import akka.http.scaladsl.testkit.ScalatestRouteTest
import akka.http.scaladsl.server.Directives._
import org.scalatest.Matchers._
trait MetricsRegistry {
def recordValue(myString: String): Unit
def decatMyString(myString: String): Unit
}
class ScalaMockError01Spec extends FlatSpec with MockFactory with ScalatestRouteTest {
def actorRefFactory = system
lazy val metricsRegistry = mock[MetricsRegistry]
val route : Route = {
get{
complete("Status is OK")
}
}
"MetricDirectives" should "record latency and success count for 200 response" in {
inAnyOrder {
(metricsRegistry.recordValue _).expects(*).twice
}
Get("/success") ~> route ~> check {
status.toString() shouldBe "200 OK"
}
}
}
Ошибка, которую я получаю, выглядит следующим образом
Неудовлетворенное ожидание:
Ожидается: inAnyOrder { inAnyOrder { MetricsRegistry.recordValue(*) дважды (никогда не вызывался - НЕУДОВЛЕТВОРИТЕЛЬНО) } }
Фактическое: ScalaTestFailureLocation: ScalaMockError01Spec at (ScalaMockError01Spec.scala:22) org.scalest.exceptions.TestFailedException: Неудовлетворенное ожидание:
Ожидается: inAnyOrder { inAnyOrder { MetricsRegistry.recordValue(*) дважды (никогда не вызывался - НЕУДОВЛЕТВОРИТЕЛЬНО) } }
Могу ли я узнать, почему я получаю сообщение об ошибке?
Спасибо
глупый я, мне нужно вызвать издевательскую функцию