2009-06-03 26 views
7

¿dónde empiezo a escribir el plugin test? He escrito algunos complementos de juguetes y me gustaría comenzar a hacer TDD con mis complementos.write eclipse junit plugin test

+0

¿Qué tipo de funcionalidad le gustaría probar? De hecho, las pruebas del complemento JUnit son simplemente pruebas JUnit, no hay nada específico de Eclipse sobre ellas. La única diferencia es que si ejecuta la prueba JUnit como una prueba de complemento JUnit, se ejecutará dentro de una instancia de Eclipse. –

+0

de la prueba del complemento, ¿cómo interactúas con el eclipse? por ejemplo, publicar un evento programáticamente para hacer algunas acciones? – zeroin23

Respuesta

14

Si el plug-in son plugins RCP (Rich Client Platform), con SWT, podría utilizar SWTBot.
Aquellos prueba se puede encapsular en JUnit uno:

Run-as-config-create


Si se basan OSGi-plugins, debe ser consciente de que OSGi paquete se ejecuta su propio cargador de clases y por lo tanto las clases no aparezca estar en el mismo paquete.
Ver "Is OSGi the enemy of JUnit tests?"

Realizar la prueba de plug-in de un fragment.
Un problema es que otros complementos no pueden acceder a clases definidas en fragmentos (como señala Patrick Paulin en a more detailed discussion about fragments in unit tests).
Otro problema es que plugin.xml en un fragmento se ignora. Y por lo tanto se prueba plugin no puede contribuir

Desde el artículo de Patrick:

fragmentos A se parece mucho a un plugin desde el exterior. Se representa como un proyecto separado en su espacio de trabajo, contiene un manifiesto que describe su contenido, se construye y se implementa como un contenedor. Lo que hace que un fragmento sea diferente es que aporta sus recursos en tiempo de ejecución a un único complemento de host. Por lo tanto, las clases en el fragmento son cargadas por el cargador de clases del complemento del host.

plugin unit test

Al colocar nuestras pruebas unitarias en fragmentos, podemos ofrecer nuestro acceso a las pruebas de los métodos no públicos de las clases bajo prueba. Además, como el código fuente y el código de prueba son en realidad parte del mismo complemento, no hay problemas relacionados con los paquetes no exportados. Las clases de prueba tendrán acceso a todos los paquetes del complemento, independientemente de si se exportan o no.

La principal desventaja de este enfoque basado en fragmentos es que es difícil agregar pruebas unitarias en un conjunto de pruebas maestras. Si bien es fácil crear un conjunto de pruebas que incluye las pruebas dentro de un fragmento, no es tan fácil crear un conjunto que incluye las pruebas en múltiples fragmentos.


Si sus plugins necesitan sólo algunas pruebas sencillas, una suite JUnit test es suficiente

Crear un nuevo caso de prueba BookTest en el test.yourpackage paquete, haga clic en el botón derecho en el paquete y seleccionar " New > JUnit Test Case ".

new test case