Domanda

Sto provando a configurare e utilizzare Mockito in un progetto GWT e ho problemi a utilizzarlo sul lato client (in javascript). Ho provato ad aggiungere un modulo e includere Mockito, ma sembra non funzionare (molti errori). Ho anche provato a fare un checkout completo da svn e integrare GWT in questo modo, gli stessi errori. Come dovrebbe essere fatto? Grazie.

È stato utile?

Soluzione

Il codice GWT testato con framework di simulazione (come Mockito) viene eseguito in JVM e ovviamente non viene compilato in JavaScript. Pertanto, qualsiasi implementazione relativa a JavaScript dovrebbe essere derisa o cancellata usando oggetti finti.

Un'architettura che riceve ampia adozione in GWT e che semplifica i test è MVP (variazione di MVC). MVP inserisce la maggior parte delle funzionalità significative all'interno di classi chiamate presentatori. I presentatori non fanno affidamento sulle classi di implementazione GWT ma dipendono invece dalle interfacce GWT (principalmente). Quindi Mockito viene applicato per deridere / stub quelle interfacce alle classi presentatore di unit test.

Questo blog è pieno di esempi sia su MVP in GWT che su test con oggetti finti (EasyMock).

Altri suggerimenti

E ora c'è https://github.com/google/gwtmockito che probabilmente è quello che hanno bisogno.

Senza ulteriori dettagli posso solo dire che i framework di derisione fanno un uso pesante di proxy dinamici e generazione di codice di runtime che non saranno compilati da GWT.

La tua scommessa migliore è usare queste beffe nei semplici test JUnit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top