4

リモートモードでArquillianを使用して、OSGiコンテナー、つまりEclipseに埋め込まれたEquinoxコンテナーで統合テストを実行しようとしています。

JBossOSGIサイトに記載されている指示に従いました。そこで、これらのアーティファクトを追加してターゲットプラットフォームをプロビジョニングすることから始めました(jbossリポジトリを参照して見つけました):

<dependency>
    <groupId>org.jboss.arquillian.osgi</groupId>
    <artifactId>arquillian-osgi-bundle</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <!-- required by arquillian-osgi-bundle -->
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.1.0.GA</version>
</dependency>
<dependency>
    <groupId>org.jboss.osgi.jmx</groupId>
    <artifactId>jboss-osgi-jmx</artifactId>
    <version>1.0.10</version>
</dependency>

バンドルを検証しようとすると、jboss-osgi-jmxからのインポートが不十分になります。

  • パッケージorg.jboss.osgi.spi.capabilityがありません
  • パッケージorg.jboss.osgi.testingがありません

どうやら、不足しているパッケージはこれらのアーティファクトに属しています(もう一度、ブラウジングによって見つかりました):

<!-- osgi.spi : this one ?-->
<dependency>
    <groupId>org.jboss.osgi</groupId>
    <artifactId>jboss-osgi-spi</artifactId>
    <version>1.0.10</version>
</dependency>
<!-- or that one ?-->
<dependency>
    <groupId>org.jboss.osgi.spi</groupId>
    <artifactId>jbosgi-spi</artifactId>
    <version>1.0.26</version>
</dependency>

<!-- osgi.testing -->
<dependency>
    <groupId>org.jboss.osgi.testing</groupId>
    <artifactId>jbosgi-testing</artifactId>
    <version>1.0.4</version>
</dependency>

しかし、これらのアーティファクトはどちらもOSGIバンドルではないため、未解決の制約に悩まされています。

だから、私の質問は:

  • プラットフォーム構成を台無しにしましたか?
  • リモートモードで非JBossosgiコンテナ内でArquillianを使用することにすでに成功している人はいますか(プレーンフェリックスで問題ありません)?
4

1 に答える 1

-1

OSGi テスト用にPax Examを試してください。組み込みとリモートのどちらで使用するかを選択できます (ネイティブ テスト コンテナーとフォークされたテスト コンテナー)。

Pax Exam は、OSGI 4.2 準拠のすべてのフレームワークをサポートしています。Equinox、Felix、Knopflerfish で回帰テストを行いました。

于 2012-06-02T21:04:10.037 に答える