Domanda

Qual è attualmente lo strumento migliore per i test delle unità JavaME? Non ho mai usato test unitari prima (peccato per me!), Quindi la curva di apprendimento è importante. Gradirei alcuni pro e contro con la tua risposta. :)

È stato utile?

Soluzione

Penso che dipenderà dal tipo di test che hai intenzione di fare. Utilizzerai l'integrazione continua. È necessario eseguire test sui portatili.

Se i test sono più test di elaborazione logica / dati, è possibile eseguire correttamente JUnit. Ma se hai bisogno di usare alcune classi di javax.microedition. *, Le cose diventeranno un po 'complicate, ma non impossibili.

Alcuni esempi: un test per il wrapping del testo sullo schermo, che richiederebbe javax.microedition.lcdui.Font. Non puoi semplicemente creare una classe di caratteri usando i vasetti forniti con WTK, perché all'inizializzazione chiamerà alcuni metodi nativi, che non sono disponibili.

Per questo tipo di test ho creato un'implementazione di stub di J2ME. Fondamentalmente queste sono le mie interpretazioni delle classi J2ME. Posso impostare alcune condizioni preliminari lì (ad esempio ogni carattere ha una larghezza di 5 pixel, ecc.). E funziona davvero alla grande, perché il mio test deve solo sapere come rispondono le classi J2ME e non come sono implementate internamente.

Per i test di rete ho usato l'implementazione di rete di MicroEmulator , e ha anche funzionato bene .

Un altro problema con i test unitari: è meglio avere i tuoi progetti mobili come progetto java usando Java 4,5,6, perché scrivere test in 1.3 è, per me, un dolore nel ...

Credo che partire da JUnit andrà bene, per iniziare. E se sorgono altri requisiti (esecuzione di test sui portatili), è possibile esplorare alternative.

Altri suggerimenti

Sarò onesto, l'unico tester di unità che ho usato in Java è JUnit e un progetto figlio per esso denominato DBUnit per il test del database ... che presumo non sia necessario J2ME.

JUnit è abbastanza facile da usare per i test unitari, purché il tuo IDE lo supporti (Eclipse ha il supporto per JUnit integrato). Basta contrassegnare i test con l'annotazione @Test (org.junit.Test credo). Puoi anche specificare metodi che dovrebbero essere eseguiti @Before o @After ogni test, così come prima o dopo l'intera classe (con @BeforeClass e @AfterClass ).

Non ho mai usato JUnit sotto J2ME, anche se ... lavoro con J2EE al lavoro.

Non ne ho mai trovato uno eccezionale. Puoi provare a leggere questo documento: come usarlo e qui il link a: scaricalo

Realizzato da Sony Ericsson, ma funziona per qualsiasi sviluppo J2ME.

E ti consiglio di dedicare un po 'di tempo all'apprendimento dei test di unità in Java normale prima di attaccare i test di unità sulla piattaforma mobile. Questo può essere un grosso da inghiottire un tiro.

Buona fortuna!

C'è un framework chiamato J2MEUnit che potresti provare, ma non sembra che sia ancora in fase di sviluppo attivo:

http://j2meunit.sourceforge.net

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