2009-06-03 15 views
7

od czego zacząć od napisania testu wtyczki? Napisałem kilka zabawkowych wtyczek i chciałbym zacząć od TDD z moimi wtyczkami.Napisz test wtyczki juntit eclipse

+0

Jakie funkcjonalności chcesz przetestować? W rzeczywistości testy wtyczek JUnit są zwykłymi testami JUnit, nie ma w nich nic specyficznego dla Eclipse. Jedyna różnica polega na tym, że jeśli uruchomisz test JUnit jako test wtyczek JUnit, uruchomią się one wewnątrz instancji Eclipse. –

+0

z testu wtyczki, w jaki sposób wchodzisz w interakcje z zaćmieniem? na przykład programowo opublikuj wydarzenie, aby wykonać pewne czynności? – zeroin23

Odpowiedz

14

Jeśli Twoja wtyczka jest wtyczką RCP (Rich Client Platform), z SWT, możesz użyć SWTBot.
Test Tych może być zamknięty w JUnit jednym:

Run-as-config-create


Jeśli wtyczki są OSGi oparte, trzeba mieć świadomość, że OSGi bundle prowadzi swój własny program ładujący klasy i dlatego zajęcia nie pojawiają być w tym samym opakowaniu.
Patrz "Is OSGi the enemy of JUnit tests?"

Dokonaj testu plugin do fragment.
Jednym z problemów jest to, że inne wtyczki nie mogą uzyskać dostępu do klas zdefiniowanych fragmentami (jak zauważa Patrick Paulin w a more detailed discussion about fragments in unit tests).
Innym problemem jest to, że plugin.xml w fragmencie jest ignorowane. A zatem przetestować plugin nie może przyczynić

Z artykułu Patryka:

fragmenty A wygląda podobnie jak wtyczki z zewnątrz. Jest reprezentowany jako oddzielny projekt w twoim obszarze roboczym, zawiera manifest, który opisuje jego zawartość, jest budowany i wdrażany jako słoik. To, co wyróżnia fragment, polega na tym, że jego zasoby w środowisku wykonawczym są dodawane do pojedynczej wtyczki hosta. Klasy we fragmencie są więc ładowane przez moduł ładujący klasy hosta.

plugin unit test

Umieszczając nasze testy jednostkowe we fragmentach, możemy zapewnić naszych testach dostęp do metod niepublicznych klas badanego. Ponadto, ponieważ kod źródłowy i kod testowy są faktycznie częścią tej samej wtyczki, nie ma problemów związanych z pakietami nie wyeksportowanymi. Klasy testowe będą miały dostęp do wszystkich pakietów wtyczki, niezależnie od tego, czy są eksportowane, czy nie.

Główną wadą tego podejścia opartego na fragmentach jest to, że trudno jest agregować testy jednostkowe w zestawie testów podstawowych. Chociaż łatwo jest utworzyć zestaw testów, który zawiera testy w obrębie fragmentu, nie jest tak łatwo stworzyć pakiet obejmujący testy w wielu fragmentach.


Jeśli plugins potrzebują tylko kilka prostych testów, o JUnit test apartament jest wystarczająco

Utwórz nowy przypadek testowy BookTest w test.yourpackage pakietu, kliknij prawym przyciskiem myszy na opakowaniu i wybierz " New > JUnit Test Case ".

new test case

Powiązane problemy