問題タブ [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.
java - PicoContainer セッター インジェクションを効果的に使用する方法 (コンストラクターにパラメーターを渡さずに PicoContainer を使用する)
PicoContainer セッターインジェクションの効果的な使い方とは?
Cucumber ステップ間でデータを渡す必要があり、パラメーターがコンストラクターに渡される従来の PicoContainer アプローチを避けたい (コンストラクターを介して他のクラス内にクラスを注入するアプローチをとらずに PicoContainer を使用する)。
これまでのところ、運がない次のセットアップがありますが、アイデアはありますか?
私のステップクラス:
ポジョのセットアップ:
上記のコードからわかるように、2 番目のステップ内にある次のコード行は joe を返すはずですが、代わりに null 値を返しているようです。
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 クラスにあります。
複数の定義間で異なるデータ型の複数のデータを共有する問題を解決できる、このフレームワークの間にクラスを追加する方法を誰かが提案できますか