2013-12-11 2 views
8

In JUnit/Mockito abbiamo 2 annotazioni estremamente utili: @Mock e @InjectMocks.@ Mock/@ InjectMocks per Groovy - Spock

Nel mio nuovo progetto ho iniziato a utilizzare groovy con spock per il test, mi chiedo se c'è una sostituzione per le annotazioni citate?

risposta

10

Non è necessario il @Mock in Spock, perché è già disponibile = Mock(), che può essere utilizzato ovunque sia possibile utilizzare un'annotazione (e anche in altri luoghi). C'è una richiesta di apertura aperta per @InjectMocks, ma non è stato deciso se tale caratteristica lo trasformerà in spock-core o spock-guice. (Spedire questa funzionalità con spock-guice, o almeno richiedendo Guice sul percorso della classe, consentirebbe di delegare l'iniezione a Guice, piuttosto che reinventare la ruota.) In caso contrario, @InjectMocks potrebbe sempre essere spedito come estensione di Spock di terze parti.

+0

'' InjectMocks' è disponibile in qualsiasi estensione di Spock di terze parti? Mi manca questa funzionalità in Spock. – TheKojuEffect

+1

https://github.com/marcingrzejszczak/spock-subjects-collaborators-extension –