scalamock newexpectationexception - [scala, scalamock, akka-http]

Я играл со 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(*) дважды (никогда не вызывался - НЕУДОВЛЕТВОРИТЕЛЬНО) } }

Могу ли я узнать, почему я получаю сообщение об ошибке?

Спасибо

глупый я, мне нужно вызвать издевательскую функцию


person sdinesh94    schedule 18.05.2017    source источник


Ответы (1)


metricsRegistry.recordValue("Меня зовут Билла")

Актуально: в org.scalamock.scalest.AbstractMockFactory$class.newExpectationException(AbstractMockFactory.scala:51) в ScalaMockError01Spec.newExpectationException(ScalaMockError01Spec.scala:22) в ScalaMockError01Spec.newExpectationException(ScalaMockError01Spec.scala:22) в org.scal. MockContext$class.reportUnsatisfiedExpectation(MockContext.scala:45) в ScalaMockError01Spec.reportUnsatisfiedExpectation(ScalaMockError01Spec.scala:22) в org.scalamock.MockFactoryBase$class.verifyExpectations(MockFactoryBase.scala:108) в org.scalamock.withExpectationsBactoryBacFactory.MockFactory (MockFactoryBase.scala:56) в ScalaMockError01Spec.withExpectations(ScalaMockError01Spec.scala:22) в org.scalamock.scalest.AbstractMockFactory$class.withFixture(AbstractMockFactory.scala:34) в ScalaMockError01Spec.withFixture(ScalaMockError01Spec.2) в org:2Scala .scalest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1679) в org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692) в org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692) в org.scalatest.SuperEngine.runTestImpl (Engine.scala:289) в org.scalest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1692) в org.scalest.FlatSpec.runTest(FlatSpec.scala:1685) в org.scalest.FlatSpecLike$$anonfun$runTests $1.apply(FlatSpecLike.scala:1750) в org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750) в org.scalest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala :396) в org.scalest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384) в scala.collection.immutable.List.foreach(List.scala:381) в org.scalest.SuperEngine.traverseSubNodes $1(Engine.scala:384) в org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:373) в org.scalest.SuperEngine$$anonfun$traverseSub Nodes$1$1.apply(Engine.scala:410) в org.scalest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384) в scala.collection.immutable.List.foreach(List.scala:381 ) в org.scalest.SuperEngine.traverseSubNodes$1(Engine.scala:384) в org.scalest.SuperEngine.org$scalest$SuperEngine$$runTestsInBranch(Engine.scala:379) в org.scalest.SuperEngine.runTestsImpl(Engine. scala:461) по адресу org.scalest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1750) по адресу org.scalest. FlatSpec.runTests(FlatSpec.scala:1685) в org.scalest.Suite$class.run(Suite.scala:1147) в org.scalest.FlatSpec.org$scalest$FlatSpecLike$$super$run(FlatSpec.scala:1685) ) в org.scalest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795) в org.scalest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795) в org.scalest.SuperEngine. runImpl(Engine.scala:521) в org.scalest.FlatSpecLike$class.run(FlatSpecLike.scala:1795) в ScalaMockError01Spec.org$scalest$BeforeAndAfterAll$$super$run(ScalaMockError01Spec.scala:22) в org.scalest. BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:213) в org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:210) в ScalaMockError01Spec.run(ScalaMockError01Spec.scala:22) в org.scalatest.tools.SuiteRunner. run(SuiteRunner.scala:45) в org.scalest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1340) в org.scalest.tools.Run ner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1334) в scala.collection.immutable.List.foreach(List.scala:381) в org.scalest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334) ) в org.scalest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1011) в org.scalest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1010) в org. scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500) в org.scalest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010) в org.scalatest.tools.Runner$.run(Runner.scala:850) ) в org.scalest.tools.Runner.run(Runner.scala) в org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138) в org.jetbrains.plugins.scala.testingSupport. scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)

person sdinesh94    schedule 18.05.2017