問題タブ [picocontainer]

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.

0 投票する
1 に答える
217 参照

java - PicoContainer セッター インジェクションを効果的に使用する方法 (コンストラクターにパラメーターを渡さずに PicoContainer を使用する)

PicoContainer セッターインジェクションの効果的な使い方とは?

Cucumber ステップ間でデータを渡す必要があり、パラメーターがコンストラクターに渡される従来の PicoContainer アプローチを避けたい (コンストラクターを介して他のクラス内にクラスを注入するアプローチをとらずに PicoContainer を使用する)。

これまでのところ、運がない次のセットアップがありますが、アイデアはありますか?

私のステップクラス:

ポジョのセットアップ:

上記のコードからわかるように、2 番目のステップ内にある次のコード行は joe を返すはずですが、代わりに null 値を返しているようです。

0 投票する
1 に答える
1320 参照

java - Cucumber、Java Picocontainer / コンストラクター注入: TestContext & ScenarioContext)、複数のステップ定義間で複数のデータを共有する方法

問題: コンストラクション注入、依存注入 / Picocontainer を使用して、状態 (必要な場合) とともに複数のステップ定義間で複数の変数 / データを共有する方法。

背景: 非常に大きなステップ定義があり、それを管理するのが難しくなりました。そこで、この新しいオートメーション ベースを使用して、ステップ定義を複数の小さな定義に分割することにしました。

スタック: Selenium、Java、Cucumber、Junit、Picocontainer。

上記を実現するために、さまざまな Web サイトやスタック オーバーフロー ディスカッションで多くの提案を探しました。依存性注入 (Picocontainer) の使用、コンストラクター インジェクションの使用、Spring などの多くの提案があります。

これらすべての提案とページを調べた後、スタックオーバーフローの1つの場所/1つの回答/1つのページのどこにも回答されていない灰色の領域(上記の問題で言及)が見つかりました。そのため、この例を共有して、より多くの情報を取得します初心者とすべての人を助けます。プロジェクト ファイルの構造:

上記のステップ定義での testcontext コンストラクターの挿入により、大きな定義を分割することができ、ほとんどのテスト ケースが正常に機能しています。ただし、2 つのステップ定義間でデータを共有するメソッドを使用しようとすると、問題が発生します。

機能ファイル:

TestContext は次のようになります。

ステップ定義: LoginStepDef

ステップ定義: ProductStepDefs

ステップ定義: PaymentStepDefs

2 番目のシナリオでユーザーが選択した製品名と ID にアクセスし、3 番目のシナリオで検証します。2 番目のシナリオは ProductStepDefinition クラスの下にあり、同じ機能ファイルの 3 番目のシナリオは PaymentStepDefintion クラスにあります。

複数の定義間で異なるデータ型の複数のデータを共有する問題を解決できる、このフレームワークの間にクラスを追加する方法を誰かが提案できますか