2008-09-22 6 views
2

Je suis relativement nouveau à J2ME et sur le point de commencer mon premier projet sérieux. Mon expérience dans les tests n'est pas trop profonde non plus. Je suis à la recherche d'un framework de test unitaire pour J2ME. Jusqu'à présent, j'ai vu J2MEUnit, mais je ne sais pas à quel point il est bien supporté. J'ai vu JavaTest Harness mais je ne sais pas si ce n'est pas une overkill.Quels cadres de tests unitaires recommanderiez-vous pour J2ME?

S'il vous plaît me dire ce cadre que vous proposez en ce qui concerne:
* Simplicité d'essais de mise en œuvre
* Soutenir la communauté et les outils
* Compatibilité avec la certification des applications processus
* Intégration avec IDEs (Eclipse, NetBeans)
* D'autres aspects que vous trouvez importants ...

Merci, Asaf.

Répondre

5

This is a blog entry of a spanish company who makes movile games. De nombreux cadres et compare la conclusion est (traduit):

  • MoMEUnit offre très utile informations sur les tests. Est facilement porté et Ant compabile. Un inconvénient (ou peut-être pas), son dont il a besoin que chaque classe de test ont une méthode de test unique, en utilisant un lot d'héritage.

  • JMEUnit. (Future fusion de J2MEUnit et JMUnit) JMUnit ne prend pas en charge Ant mais l'interface est similaire à MoMEUnit. J2MEUnit ne fournit pas d'informations très utiles avec les tests . La création de tests dans les deux frameworks est complexe. J2MEUnit ne supporte pas Ant; des thats pourquoi la fusion des deux cadres sera très intéressant (ils ont travaillé sur int pour un an plus o moins)

Mon expérience: Je l'ai utilisé Unité J2ME et la mise en place d'équipements de test est une douleur due au manque de "Reflection" dans J2ME, mais ils sont tous construits toujours de la même manière, donc un template fait gagner beaucoup de temps. Je comptais d'essayer MoME unité cette semaine, juste pour vérifier son modèle plus simple

Certains cadres des tests unitaires pour J2ME:

+0

ce qui serait le plus approprié quand il est nécessaire d'intégrer avec Maven? – nish1013

0

Hmm ... Je n'ai moi-même pas développé d'application mobile mais je pense que J2MEUnit est le meilleur choix car basé sur le JUnit original qui a une grande communauté et est supporté par la plupart des IDEs donc il devrait être facile à utiliser au moins ceux qui ne dépendent pas du matériel mobile directement de votre IDE.

Il est peut-être plus important que J2MEUnit s'intègre à ANT pour que vous puissiez exécuter votre test à chaque génération.

5

Jetez également un coup d'œil sur MockME.

www.mockme.org

leur site:.. « MockME est Java ME objets fantaisie pour Java SE MockME vous permet d'écrire des tests unitaires réels sans avoir à les exécuter sur le téléphone Vous pouvez même utiliser dynamique MockME intègre les outils les plus performants pour les tests unitaires, y compris JUnit, EasyMock et DDSteps En rendant le simulacre de Java ME API, vous pouvez écrire des tests unitaires pour votre Java ME application comme vous le voulez vraiment. "

+0

C'est vraiment utile. Je vais essayer –

2

MicroEmulator + JUnit sur J2SE

J'ai commencé avec des outils comme JMUnit, mais je récemment commutées à JUnit standard + MicroEmulator sur J2SE. Ceci est similaire à l'utilisation de MockME, mais avec MicroEmulator à la place. Je préfère MicroEmulator, car il a des implémentations réelles des composants, et vous pouvez y exécuter un MIDlet entier. Je n'ai jamais utilisé MockME moi-même.

Tous mes tests unitaires non-GUI sont exécutés en utilisant simplement MicroEmulator comme une bibliothèque. Cela a l'avantage que tous les outils JUnit fonctionnent de manière transparente, en particulier Ant, Maven, la plupart des IDE et des outils d'intégration continue. Comme il fonctionne sur J2SE, vous pouvez également utiliser des fonctionnalités telles que les génériques et les annotations JUnit, ce qui rend les tests unitaires un peu plus agréables.

Certains composants comme le RecordStore nécessitent une configuration avant de commencer. Ceci est fait avec MIDletBridge.setMicroEmulator(). L'utilisation de MicroEmulator présente également l'avantage de pouvoir personnaliser l'implémentation de certains composants, par exemple le RecordStore. J'utilise un RecordStore en mémoire, qui est recréé avant chaque test, de sorte que je suis sûr que les tests s'exécutent indépendamment.

Devices réel

L'approche décrite ci-dessus ne fonctionnera pas sur les dispositifs réels. Mais, à mon avis, seuls les tests d'interface graphique et d'acceptation doivent être exécutés sur des appareils réels. Pour cela, des outils comme mVNC et T-Plan Robot peuvent être utilisés sur les appareils Symbian (grâce à this blog post). Cependant, je pouvais seulement faire fonctionner mVNC via Bluetooth, et c'était très lent.

Une alternative pourrait être d'utiliser un service comme The Forum Nokia Remote Device Access (RDA). J'ai encore besoin d'examiner si des plates-formes comme celle-ci sont adaptées aux tests automatisés.

+0

pourriez-vous s'il vous plaît me donner plus de tutoriels sur les tests non-GUI avec MicroEmulator + Junit? – eric2323223