Question

Je suis relativement nouveau dans 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 cherche un framework de test unitaire pour J2ME.

Jusqu'à présent, j'ai vu J2MEUnit, mais je ne sais pas dans quelle mesure il est pris en charge. J'ai vu JavaTest Harness, mais je ne sais pas si ce n'est pas excessif.

Dites-moi quel cadre vous proposez en ce qui concerne:
* Simplicité de mise en œuvre des tests
* Communauté et outils de soutien
* Compatibilité avec les processus de certification des applications
* Intégration avec les IDE (Eclipse, NetBeans)
* Autres aspects que vous jugez importants ...

Merci, Asaf.

Était-ce utile?

La solution

Il s'agit d'une entrée de blog d'une société espagnole qui fait jeux movile . Compare plusieurs frameworks et la conclusion est (traduite):

  • MoMEUnit Offre très utile informations sur les tests. Est facile à porter et compabile Ant. UNE désavantage (ou peut-être pas), sa qu'il a besoin que chaque classe de test avoir une méthode de test unique, en utilisant un beaucoup d'héritage.

  • JMEUnit. (Fusion future de J2MEUnit et JMUnit) JMUnit ne supporte pas Ant mais l'interface est similaire à MoMEUnit. J2MEUnit ne fournit pas informations très utiles avec le tests. Tester la création dans les deux cadres est en quelque sorte complexe. J2MEUnit prend en charge Ant; c'est pourquoi la fusion des deux cadres sera très intéressant (ils ont travaille depuis un an sur int o moins)

Mon expérience: j’utilise J2ME Unit et la configuration des équipements de test est pénible à cause du manque de "Reflection". dans J2ME, mais ils sont tous construits toujours de la même manière, donc un modèle permet de gagner beaucoup de temps. Je comptais essayer l’unité MoME cette semaine pour vérifier son modèle plus simple

Certains cadres d'unité de test pour J2ME:

Autres conseils

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

www.mockme.org

De leur site: "MockME est un objet fictif Java ME pour Java SE. MockME vous permet d'écrire de vrais tests unitaires sans avoir à les exécuter sur le téléphone. Vous pouvez même utiliser des frameworks d'objet simulés dynamiques tels que EasyMock, qui vous permettent de simuler n'importe quel objet dans Java ME! MockME intègre les meilleurs outils de test unitaire, notamment JUnit, EasyMock et DDSteps. En rendant les API Java ME ridicules, vous pouvez écrire des tests unitaires pour votre application Java ME comme vous le souhaitez. "

MicroEmulator + JUnit sur J2SE

J'ai commencé avec des outils tels que JMUnit, mais je suis récemment passé à JUnit + 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 exécuter un MIDlet entier dessus. Cependant, je n'ai jamais utilisé MockME moi-même.

Tous mes tests unitaires non graphiques sont exécutés en utilisant simplement MicroEmulator en tant que bibliothèque. Cela présente l'avantage que tous les outils JUnit fonctionnent de manière transparente, en particulier Ant, Maven, la plupart des outils IDE et 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 l’écriture des tests unitaires un peu plus agréable.

Certains composants tels que RecordStore nécessitent une configuration avant de fonctionner. 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 RecordStore. J'utilise un RecordStore en mémoire, qui est recréé avant chaque test, afin que je sois sûr que les tests s'exécutent indépendamment.

Périphériques réels

L'approche décrite ci-dessus ne fonctionnera sur aucun périphérique réel. Mais, à mon avis, seuls les tests d'interface graphique et d'acceptation doivent être exécutés sur de vrais périphériques. Pour cela, des outils tels que mVNC et Le robot T-Plan peut être utilisé sur les appareils Symbian (grâce à < a href = "http://mobileqa.blogspot.com/2008/04/automated-midlet-testing-on-symbian.html" rel = "nofollow noreferrer"> cet article de blog ). Cependant, je ne pouvais que mVNC fonctionner via Bluetooth, et c'était très lent.

Une alternative pourrait consister à utiliser un service tel que "nofollow noreferrer". RDA "> Le forum Accès aux appareils à distance Nokia (RDA) . Il me reste à déterminer si de telles plateformes conviennent aux tests automatisés.

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

Plus important peut-être, J2MEUnit s’intègre à ANT afin que vous puissiez exécuter votre test avec chaque version.

Un document connexe que j'ai trouvé (après avoir posé la question) est Test Applications Java sans fil . Il décrit J2MEUnit à la fin du document.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top