2011-12-02 7 views
7

Voglio eseguire un test in cui il mio codice GWT effettua una richiesta al mio server AppEngine e attende una risposta. Il mio server utilizza RESTEasy per impostare i percorsi delle richieste. Il mio client utilizza una magia AutoBean, che utilizza GWT.create(), quindi questo test deve essere un GWTTestCase.Test di integrazione JUnit tra GWT e devmodes Appengine, con RESTEasy

Cosa devo fare per impostare una simulazione completa della modalità di sviluppo appengine per il mio test? Lo docs menziona i modi per impostare ciascuno dei singoli servizi su cui si basa la rete di distribuzione, ma voglio far girare tutto.

+0

Verrà eseguito un test di integrazione. Questo non è più il focus ** JUNIT ** –

+0

Sulla base delle mie ricerche, non penso sia possibile. Penseresti che ci sarebbero alcune informazioni qui: https://developers.google.com/appengine/docs/java/tools/localunittesting se lo fosse. – trevorism

risposta

0

Non avendo familiarità con GWTTestCase, non capisco perfettamente di cosa hai bisogno qui. Non sarebbe un semplice:

public class LocalDatastoreTest 
{ 
    private final LocalServiceTestHelper helper = 
     new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig(), 
            new LocalUserServiceTestConfig(), 
            new LocalTaskQueueTestConfig(), 
            new LocalMemcacheServiceTestConfig(), 
            new LocalAppIdentityServiceTestConfig() // etc.. 
           ); 

    @Before 
    public void setUp() { 
     helper.setUp(); 
    } 
} 

in cui è possibile aggiungere ulteriori configurazioni di prova per l'assistente come richiesto, essere sufficiente per la creazione di un full simulation of the appengine development mode? Potresti fornire maggiori dettagli su ciò di cui hai bisogno?

(Questo probabilmente dovrebbe contare come commento, ma l'esempio di codice ho cercato di scritto è troppo grande per i commenti)

+0

Ad esempio, dopo aver impostato come suggerito, come posso simulare una richiesta al server e analizzare la risposta? –

0

Perché nei test generali di programmazione funziona meglio attraverso terze biblioteca barattoli: la cosa migliore da fare è la seguente:

  1. Basta scrivere i vostri casi di test utilizzando jUnitapi e ottenere tutti gli oggetti necessari del progetto dai parametri di metodi e mai iniziato gli oggetti localmente
  2. Costruire un barattolo GWT * plug-in * dai vostri casi di test includendo GWTXML file in esso
  3. Aggiungere il vaso al tuo class-paths
  4. chiamata il vaso metodo fornendo gli oggetti parametro all'interno di i propri pacchetti di progetto
  5. I test funzioneranno in modo affascinante (pulito, robusto e veloce sono solo alcune parole a vostro vantaggio lungo la strada!) con il minimo sforzo s

Spero che sia d'aiuto.