問題タブ [scaldi]
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.
scala - 遅延インスタンス化とシングルトンの両方でバインディングを登録するにはどうすればよいですか
私はスカルディが初めてです。クラウド環境構成で使用されているクラスがあり、そこで 2 つのことを実行したいと考えています。
[EnvironmentInfo] を新しい EnvironmentInfo にバインドします initWith(_.init())
まず、シングルトンにしたい。ランタイム情報 (この場合は Google AppEngine) を取得し、インスタンス化時にこれを行う必要があります。initWith は良い選択のようです。
次に、最初のリクエストまでインスタンス化を遅らせます。実行パスに従って、最初の呼び出しのかなり前にインスタンス化されています。
インスタンス化を遅らせることができれば、initWith はクラス コンストラクターに移動する必要があります。
scala - Scaldi : [T < AkkaInjectable] を TestProbe.ref にバインドします。
A
Play 2.4 アプリケーション内で Scaldi を使用してアクターをテストしようとしています。このアクターはinjectActorRef[B]
、私がTestKit.TestProbe
.
B
私のspecs2内では、対応するTestKit.TestProbe.refをactorに提供しながら、mockedのプローブを取得できるようにしたいと考えていますA
。
私はこのようなことをしたいと思います:
問題は、ref が であるため、予期されるタイプActorRef
と一致しないことです。B
それを行うためのきれいな方法はありますか?によって返される ActorRef を指定できますinjectActorRef[B]
か?
Actor のバインドをオーバーライドすることになりましたA
。
scala - Play 2.4 Scaldi WS テスト
ここのPlay 2.4ドキュメントで説明されているように、偽のサーバーでWSクライアントをテストしたい: https://www.playframework.com/documentation/2.4.x/ScalaTestingWebServiceClients
しかし、私は Scaldi で DI を行っていますが、Scaldi を使用するように Play のドキュメント コードを適応させることができません。
誰かが私を助けることができますか?
適応するコードは主にこれです(Play docから来ます):
scala - テストとモックに関して Scaldi モジュールをどのように実装する必要がありますか (そのモジュールに慣れていません)。
どのコンポーネントでもインジェクターを暗黙的に使用できるように、ルート パッケージ オブジェクトに暗黙的な scaldi Module があります。
このモジュールは次のようになります。
Scaldi のドキュメントには、既に初期化されているモジュールにバインドすることは推奨されていないと書かれているため、テスト/モジュールの再利用のために additionalModule を追加し、事前定義されたモジュールに集約しました。私はそれを正しく理解しましたか?