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"))
}
}
}