Test OSGi
Actuellement, je travaille sur un nouveau système de contrôle de version dans le cadre d'un projet de fin d'études à l'Université. L'idée est de le rendre plus adaptable et enfichables.
Nous utilisons le framework OSGi (Équinoxe de mise en œuvre) pour gérer nos plug-ins. Mon problème est que je ne peux pas trouver un simple & méthode facile à utiliser pour les tests de bundles OSGi.
Actuellement, je dois construire le faisceau à l'aide de Maven, puis d'exécuter un harnais de test. Je suis à la recherche de quelque chose comme JUnit test runner pour Eclipse, car il me permettra de gagner un paquet de temps.
Est-il un moyen facile et rapide de tester les bundles OSGi?
EDIT: je n'ai pas besoin de quelque chose pour tester Eclipse plug-ins ou des composants GUI, juste bundles OSGi.
EDIT2: Est-il un cadre qui prend en charge JUnit4?
source d'informationauteur fluffels
Vous devez vous connecter pour publier un commentaire.
Spring Dynamic Modules a un excellent support pour les tests de bundles OSGi.
Plus récemment, vous devriez jeter un oeil à la Pax Examen:
http://team.ops4j.org/wiki/display/paxexam/Pax+Examen
C'est l'effort actuel à OPS4J pour l'essai.
Il y a un open source OSGi cadre d'essais sur OPS4J (ops4j.org) appelé Pax Drone.
Vous pouvez avoir un coup d'oeil à la Pax Drone ([http://wiki.ops4j.org/confluence/x/KABo%5D) qui vous permet d'utiliser tous les Felix Versions ainsi que l'Equinox et le Knopflerfish dans vos tests.
Cheers,
Toni
Voici quelques outils qui ne sont pas encore mentionné:
Je suis en utilisant Tychoqui est un outil pour l'utilisation de Maven pour générer des plugins Eclipse. Si vous créez des tests à l'intérieur de leurs propres plug-ins, ou plug-in fragments, Tycho pouvez exécuter chaque série de tests à l'intérieur de son propre OSGi exemple, avec toutes ses dépendances nécessaires. Intro et plus d'info. Cela fonctionne très bien pour moi.
jUnit4OSGI semble simple. Vous faire des sous-classes de OSGiTestCase, et vous obtenez des méthodes comme
getServiceReference()
etc.Pluginbuilderune tête système de construction pour OSGi bundles /plugins Eclipse, a un test-l'exécution de cadre appelé Autotestsuite. Il exécute les tests dans le contexte de l'environnement OSGi, après l'étape de génération. Mais, il ne semble pas avoir été maintenu pendant plusieurs années. Je pense que beaucoup de projets Eclipse sont de la migration de Pluginbuilder à Tycho.
Une autre option est de lancer une instance de un conteneur OSGi dans votre test unitairequi vous exécuter directement, comme expliqué ici.
Voilà quelqu'un qui écrit de un petit faisceau de test collectorqui effectue des recherches pour JUnit (3) les tests et les exécute.
Eclipse dispose d'une configuration de lancement type pour l'exécution des tests JUnit dans le contexte d'une Éclipse (c'est à dire OSGi) application:
http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tools/launchers/junit_launcher.htm
Si vous avez besoin de tester les composants GUI j'ai trouvé SWTBot fait le travail.
Traité est un contrat(de test) cadre qui est assez académique, mais avec quelques belles idées. Il y a des articles qui sont publiés, et les personnes travaillant actuellement sur l'amélioration de l'.
La ProSyst Exécution Du Test De L'Environnement est un utile outil de test pour les bundles OSGi. Il prend également en charge JUnit tests comme l'un des modèles de test.
Pour les tests unitaires d'utiliser le EasyMock cadre ou créer vos propres implémentations des interfaces requises pour les tests .
Je pense que nous avons rencontré le même problème et nous avons fait notre propre solution. Il existe différentes parties de la solution:
Avec les outils que vous pouvez faire TDD et avoir les épreuves écrites toujours exécuter à l'intérieur de l'maven integration-phase. Il est recommandé d'utiliser eclipse avec m2e et maven-bundle de plug-ins que dans ce cas, le target/classes/META-INF/MANIFEST.MF est régénéré dès que vous enregistrez une classe dans votre source de sorte que vous pouvez faire glisser le projet et de les déposer à la deployer fenêtre. Les bundles OSGi vous développez n'ont aucune caractéristique particulière (comme un plugin eclipse ou quelque chose).
L'ensemble de la solution est OpenSource. Vous pouvez trouver un tutoriel à http://cookbook.everit.org
Au cours des deux dernières années Tycho - un nouveau Maven génération basé sur le système pour OSGi - est devenu très populaire parmi la Fondation Eclipse. Ce cadre comprend également la méthode à utiliser Maven Infaillible pour tester des bundles OSGi séparer les bancs d'essai...