問題タブ [pax-exam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Pax 試験の同期の問題
Pax Exam を使用して、OSGi アプリケーションへの統合テストを実行しています。アプリケーションは、次のように ConfigurationFactory を使用してテスト コンテナーにデプロイするさまざまなバンドルで構成されています。
これはうまく機能し、テストメソッドを記述してアプリケーションをテストできますが、本質的に同期の問題であると理解している次の問題があります。my-feature の一部としてデプロイするバンドルの 1 つには、バンドルの開始をリッスンし、開始された各バンドルに関する情報を DB に書き込む EventHandler があります。これは、テスト メソッドの実行とは非同期に行われるものだと思います。したがって、テスト メソッドが実行された後、EventHandler で実行されるクエリのテスト出力に次の例外が表示されます。
私の理解では、この例外は、私のテストメソッドが実行され、Pax Exam がコンテナーのシャットダウンを開始した瞬間に、私の EventHandler がまだバンドルを処理しており、DB から喜んで読み書きしているという事実によるものです。フィート。私の質問は、Karaf をシャットダウンする前に、Pax Exam に EventHandler の処理が完了するのを強制的に待機させる方法はありますか?
apache-karaf - Pax Exam での構成ファイルの編集
Pax Exam を使用して、OSGi アプリケーションへの統合テストを実行しています。アプリケーションの Karaf 機能をテスト コンテナーにインストールするように指定し、機能の一部としてインストールされた .cfg ファイルのプロパティの一部を変更する構成ファクトリがあります。
指定したプロパティeditConfigurationFilePut
は正しく変更されていますが、残りの .cfg ファイルのプロパティは削除されています。メソッドを使用してeditConfigurationFilePut
Karaf の構成ファイルの 1 つを編集すると、期待どおりに機能します (既存のプロパティを変更せずに新しいプロパティを追加するだけです)。おそらく問題は、Pax Exam が .cfg ファイルの前に構成を変更しようとすることだと思います機能によってインストールされるため、プロパティを配置する新しいファイルが作成されます。この場合、機能が適切にインストールされた後にのみ .cfg ファイルが編集されるように、このプロセスを同期する方法はありますか?
osgi - felix、osgi、および PaxRunner フレームワークを使用して osgi の統合テストを作成すると、java.lang.AbstractMethodError/ClassCastException が発生する
バンドルの統合テストを作成しようとしています。基本的に、通常の Web アプリ プロジェクト (テストは src/test フォルダーにあります) のセットアップを模倣したいと考えています。
バンドルがアクティブ化しようとしたときに例外があることを除いて、私はほとんどそこにいます
ネイティブ コンテナの例外
フォークされたコンテナの例外
私は彼らの公式 JIRA ボードに提出しようとしましたが、そうする許可がありません:
専門家が私の問題を解決してくれますか? 私はすでに私のロープの終わりにいます:(
サンプル プロジェクト (プロジェクト ファイルが機能しない場合は教えてください):
http://www.mediafire.com/download/qnh2gzgygys9982/cq-training.zip
コマンド: mvn clean verify
ありがとう
java - ClassNotFoundException: org.apache.felix.dm.DependencyActivatorBase with Pax 試験
OSGi 単体テストに Pax Exam (3.5.0) を使用しています。テストを作成しましたが、実行すると、次のスタック トレースが表示されます。
オプションで構成CoreOptions.mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager", "3.1.0")
しましたが、ロードされていることがわかりますorg.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle [org.apache.felix.dependencymanager]
。
それでも例外が発生します。私が間違っていることについての手がかりはありますか?
乾杯。
eclipse-plugin - Pax Exam で起動引数を使用して Equinox アプリケーションを起動するには?
Pax Exam で OSGI アプリをテストしたいのですが、プラグインの 1 つからアプリケーションを起動するのに問題があります。
私は Equinox を使用しており、org.eclipse.equinox.app.IApplication を拡張する Equinox 固有のクラスがいくつかあります。このクラスは、Eclipse Application Launcher で選択でき、最初に実行されるクラスです (私の場合、アプリのライフサイクルを制御します)。
Pax Exam テストを実行すると、すべてのバンドルが解決されますが、IApplication は開始されません。
この種のアプリケーションを Pax Exam で実行するにはどうすればよいですか?
さらに、アプリの引数を渡すにはどうすればよいですか? FrameworkProperty (-F) と systemProperty (-D) しか表示されませんが、通常のアプリ引数が必要です。
osgi - paxexam 4 テストの開始時に OSGi Pax Exam 4 gogo シェル パーサーが gosh_profile の解析に失敗する
PaxExam テスト クラス内で Felix GoGo シェルを有効にしようとしています。これは、バンドルの開発中の OSGi コンテナーとの単純な対話のためです。ここに私のPaxExamテストクラスがあります:
object.wait() を使用して保持し、シェルを介してコンテナーと対話できるようにします。しかし、これは私が得る例外です:
jdk1.8_u20 を Apache Felix 4.4.1 と共に使用しています。
デバッグでは、この問題の原因を突き止めることができなかったので、助けていただければ幸いです。
どうもありがとうございました