Play Framework 2 scala specs2 mockito, как мне написать юнит-тест для насмешки

Таким образом, игровая среда говорит о том, что у specs2 и specs2 есть mockito

Я хочу использовать mockito для написания теста, в котором шаблон, который вызывает контроллер, является mockito mockito.

Все документы, которые я нашел до сих пор, - это реализации Java, в которых вы вызываете статическую функцию mock и даете ей класс Mocked в качестве аргумента обобщенного типа.

Из того, что я могу сказать, фиктивная функция не предоставляется по умолчанию в спецификации, так как мне создать мокито макет?

Пожалуйста, приведите пример, который включает в себя как создание макета, так и утверждение, что вызов макета вызывается с определенными аргументами.

1 ответ

Решение

После долгих поисков в гугле и прическе я придумал следующее

package test

import org.specs2.mutable._

import play.api.test._
import play.api.test.Helpers._

import org.specs2.mock._
import org.mockito.Matchers

class ToTest {
  def go(a:String) = {
    "other"
  }
}

class MockSpec extends Specification with Mockito {
  "Mock" should {
      "work" in {
        //assemble
        val m = mock[ToTest]
        m.go(anyString) returns "tested"

        //act
        val result = m.go("test")


        //assert
        result must equalTo("tested")
        there was one(m).go(Matchers.eq("test"))
      }
  }
}
Другие вопросы по тегам