Mam prosty widok zarejestrowany normalnie w mojej wtyczce Eclipse (4.5.2) i działa on po uruchomieniu instancji Eclipse z wtyczką. Nadal działa w odpowiednim przypadku testowego, który ma następującą metodę:Wyjątek NullPointerException w WorkbenchPage.busyShowView
@Before
public void setUp() throws Exception {
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
for (IViewReference viewReference : activePage.getViewReferences()) {
activePage.hideView(viewReference);
}
activePage.showView("org.acme.MyView");
}
Jednak gdy uruchamiam ten sam test z Tycho (0,22, 0,24 lub 0,25), pojawia się następujący wyjątek:
java.lang.NullPointerException: null
at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1271)
at org.eclipse.ui.internal.WorkbenchPage$12.run(WorkbenchPage.java:4238)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4234)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4214)
at org.acme.MyViewTest.setUp(MyViewTest.java:39)
kod Tycho jest prosta:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<configuration>
<providerHint>junit4</providerHint>
<useUIHarness>true</useUIHarness>
</configuration>
</plugin>
znalazłem this bug i kilka więcej, ale nic nie znalazłem wyjaśnienia, dlaczego to nie tylko w Tycha. I nie mogłem znaleźć niczego, jak to naprawić.
Co więc zrobiłem źle? Jak mogę to naprawić?
Gdyby ten sam problem, rozwiązanie zadziałało przy pierwszej próbie. Dziękuję Ci bardzo! –