2016-07-12 10 views
6

私はEclipseプラグイン(4.5.2)に通常登録されている簡単なビューを持っており、プラグインを使用してEclipseインスタンスを開始すると動作します。私はティコ(0.22、0.24または0.25)と同じテストを実行したときしかしWorkbenchPage.busyShowViewのNullPointerException

@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"); 
} 

、私は次の例外を取得:

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) 
それはまだ、次の方法があり、対応するテストケースで動作します

ティココードは単純です:

<plugin> 
    <groupId>org.eclipse.tycho</groupId> 
    <artifactId>tycho-surefire-plugin</artifactId> 
    <configuration> 
     <providerHint>junit4</providerHint> 
     <useUIHarness>true</useUIHarness> 
    </configuration> 
</plugin> 

私はthis bugを発見し、夫婦より、それが唯一のティコに失敗する理由を私は説明は何も見つかりませんでした。そして、私はこれを修正する方法について何も見つけることができませんでした。

どうしたのですか?どうすれば修正できますか?

答えて

3

私の推測では、本格的なEclipseワークベンチやPDEの追加が必要なテストランタイムには欠けているものがありますが、Tychoはそれがないと思います。あなたのtycho-surefire-plugin実行に以下を追加する(デフォルトでは、ティコが唯一のテスト実行時に、あなたのeclipse-test-pluginの(推移)の依存関係を追加します)

試してみてください。

<configuration> 
    <!-- ... -> 
    <dependencies> 
    <dependency> 
     <artifactId>org.eclipse.e4.rcp</artifactId> 
     <type>eclipse-feature</type> 
    </dependency> 
    </dependencies> 
</configuration> 

これはあなたへのプラグインの多くを引く必要がありますそうでなければ存在しない可能性のあるテストランタイム(org.eclipse.e4.core.diのように、テストは通常​​直接的または間接的に依存しません)。

もちろん、上記の機能は、org.eclipse.e4.rcpの機能がターゲットプラットフォームの一部である場合にのみ機能します。

+0

同じ問題があった場合、解決方法は最初に試しました。どうもありがとうございました! –

関連する問題