Combiniamo i test di Spock con Spring @ContextConfiguration in modo che possiamo creare bean in un contesto primaverile e quindi utilizzare Spock per i test effettivi. Vorremmo iniettare mock spock nei nostri fagioli primaverili. Per Mockito c'è un'estensione che ti permette di fare cose come:Come creare Spock mock al di fuori di una classe di specifiche?
<mockito:mock id="accountService" class="org.kubek2k.account.DefaultAccountService" />
e quindi fare riferimento a questo simulato ad altri fagioli di primavera. Sembra che non ci sia un'estensione di questo tipo per Spock. Quindi, costruire di nuovo questo probabilmente non è troppo difficile se sai come creare Mock al di fuori della classe Specification. L'unico modo per creare un Spock Mock di cui sono a conoscenza è:
T Mock(Class<T> type)
in Specifica. C'è qualche API in Spock per creare Mock quando non si trova all'interno della classe Specification, quindi potrei creare Spock Mock per un contesto primaverile?
Sono seduto in SpringOne Spock e testMvc sess e sta iniziando a sembrare ovvio che, al fine di mixare alcuni servizi e alcuni servizi configurati da Spring (ad esempio per evitare di avere una logica di integrazione al di fuori del test) questa funzionalità sarebbe molto utile. –
Forse SpecificationMixin è quello che stavo cercando? –
Non ho familiarità con 'SpecificationMixin'. C'è una richiesta di pull nei lavori che permette la costruzione esterna di mock, e speriamo che verrà spedita con la prossima versione di Spock. –