2013-07-10 9 views
8

Więc Ramy gra opowiada o konieczności specs2 i specs2 mający Mockitoplay Framework 2 scala specs2 Mockito, jak mogę napisać test jednostkowy szyderczy

chcę użyć Mockito napisać test, gdzie szablon że wywołuje kontroler to makiety z mockito.

Wszystkie dokumenty, które do tej pory znalazłem, to implementacje java, w których wywołujesz symulacyjną funkcję statyczną i nadasz jej wyśmiewaną klasę jako argument generyczny.

Z tego co wiem, funkcja próbna nie jest domyślnie ujawniona w specyfikacji, więc w jaki sposób utworzyć makiety?

Proszę podać przykład, który obejmuje zarówno tworzenie makiety i twierdząc pozornie jest wywoływana z niektórymi argumentami

Odpowiedz

6

Po wielu googlowania i ciągnięcie za włosy wymyśliłem następujący

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

Warto zauważyć, , czy ta gra nie zakłada domyślnie zależności od mockito. Musisz dodać go do swojej Build.scala –

+0

jak dodać go do Build.scala? – Jaap

+1

Dodaj "org.mockito"% "mockito-all"% "1.9.5"% "test" (lub dowolna inna wersja) do sekwencji appDependencies. – johanandren

Powiązane problemy