問題タブ [autofactory]
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.
asp.net-mvc - Autofac エラー - 'AutofacWebRequest' に一致するタグを持つスコープは、インスタンスが要求されたスコープから表示されません
Web アプリケーションの 1 つで、Autofac を使用する Web サービスを使用しています。svc ファイルは次のとおりです。
次のように、Web サービス アプリケーションの依存関係を登録します。
別の Web アプリケーションから、これらのサービスにも Autofac を使用して接続したいので、次のような依存関係を登録します。
コントローラーの 1 つの中で、次のことを行います。
タイプ IMyWebService の myServiceProxy が解決されています。透過プロキシであることがわかりますが、「CallSomeMethod」を呼び出すとエラーが発生します。
「AutofacWebRequest」に一致するタグを持つスコープは、インスタンスが要求されたスコープからは見えません。これは通常、HTTP ごとのリクエストとして登録されたコンポーネントが、SingleInstance() コンポーネント (または同様のシナリオ) によってリクエストされていることを示します。Web 統合では、常に DependencyResolver.Current または ILifetimeScopeProvider.RequestLifetime から依存関係をリクエストし、コンテナー自体からは決してリクエストしません。 .
ここで何が間違っていますか?ありがとう!
c# - モック (Moq) オブジェクトを使用した Autofac モジュールでのインジェクションの変更
以下のようなAutofacモジュールがあります
このモジュールは ServiceClass で使用されます。
私の質問は、(Moq) ITimeConsume クラスをモックして ServiceClass をテストするにはどうすればよいですか? ここで、以下のテストを書きます。
途中でこれが不可能な場合、注入できる時間のかかるクラスをモックするためのより良い設計は何ですか?
**
アップデート:
** @dubs と @OldFox のヒントに感謝します。重要なのは、Autofac インジェクターを内部制御ではなく外部で初期化する必要があることだと思います。そこで、Autofac.ILifetimeScope の「 On Fly 」ビルド機能を活用し、LifeTime スコープ パラメーターを使用して ServiceClass コンストラクターを設計します。この設計により、以下の例のように、単体テストで任意のサービスをオンフライで登録できます。
java - 同じモジュールで使用されている場合、IntelliJ は生成されたソースを見つけることができません
Google の AutoFactory の注釈プロセッサを使用しています。同じモジュール内の別の場所で注釈を付けSomeClass
て@AutoFactory
参照しました。new SomeClassFactory().create()
Maven 構成:
Maven に必要な依存関係を追加しました。
実行すると、$ mvn clean compile
それtarget/generated-sources/annotions/somepackage/SomeClassFactory
が作成され、モジュールがエラーなしでコンパイルされることがわかります。
IntelliJ 構成:
Reimport all maven modules
Preferences
->Annotation Processors
->Enable annotation processing
Rebuild Project
v14.1.4
私の理解が正しければ、私のバージョンの IDEA ( ) ではこれで十分なはずです。
次の手順も実行しました。
generated-sources
フォルダーがソースとして追加されていることを確認しましたProject Structure
- Mavenプリファレンス
Generated sources folders
がに設定されていることを確認Detect automatically
- リビルド時にソースが実際に生成されることを確認しました(
target
IntelliJによって生成されたことを確認するために、最初にフォルダーを削除しました) - @tilpner
Exclude output paths
の提案に従って、プロジェクト構造で無効にしてみてください - キャッシュを無効にして再起動する
.idea
フォルダと.iml
ファイルを削除するPhase to be used for folders update
inPreferences
->Maven
->のさまざまな設定を試してくださいImporting
問題:
これらのすべての手順を実行した後、生成されたクラスはプロジェクト エクスプローラーに表示されません。実際、target
ディレクトリ全体はどこにもありません。コンパイルは失敗しcannot find symbol: SomeClassFactory
、new SomeClassFactory().create()
エディターで赤でマークされますが、Maven は問題なく生成およびコンパイルします。
私には選択肢がありません。助けや提案があれば大歓迎です!
更新:コンパイル エラーの原因となったコードにコメントを付けると、IntelliJ はコンパイル メッセージに次の警告を出力します。Warning:Output path /Users/.../target/generated-sources/annotations intersects with a source root. Only files that were created by build will be cleaned.
c# - mock.Provide() を使用して、SUT コンストラクターで使用されるデリゲート ファクトリをセットアップします。
デリゲート ファクトリを介して 1 つのスタブ オブジェクトが渡されたときのクラスの動作をテストしようとしています。すべてのクラスの依存関係 (ファクトリを除く) がモック オブジェクトとして渡され、想定どおりに動作するバージョンのテストを作成しました。今、AutoMock を使用してコンテナにモックを自動的に作成させようとしています。
mock.Provide() を使用して、ClassUnderTest のコンストラクターでデリゲート ファクトリの具体的な値を渡す際に問題が発生しています。(このコメントが示唆するように)
私がテストしているクラス:
ビジネスロジックモジュール:
テストクラス:
}
私が間違っていることについての指摘に感謝します。私は何が欠けていますか?どうすれば修正できますか?単純な構文の修正ですか、それともこのテストへの私のアプローチに何か問題がありますか?
お時間をいただきありがとうございます。
android - Dagger-2 と Autofactory の使用中にアシスト インジェクションを実装する際の問題
Dagger-2 (ver: 2.7) とAutoFactory (ver: 1.0- beta3) を使用しています。私は独特の問題に直面しています。
私はクラス MyRequest を持っています。誰の ctor は次のように 2 つのパラメーターを取ります:
- ConnectivityManager conmgr
- int somevalue
私はctorを次のように作成しました
以下を含むモジュールがあります
同じモジュールで、次のことを行います
互換性のないタイプのビルド エラーが発生して います: ConnectivityManager をプロバイダー < ConnectivityManager > に変換できません。
これを解決する方法はありますか?
android - Dagger2 : シンボル @Autofactory クラスが見つかりません
プロジェクトをダガー 1 からダガー 2 に移行したいと考えています。ダガー 2 の依存ライブラリを追加した後、プロジェクト内のすべての @Autofactory クラスで「エラー: シンボル クラス MyClassFactory が見つかりません」というエラーが発生します。ただし、これらのクラスは生成されていますが、IDE によって認識されていません。このクラスは、dagger1 で正常に機能しました。同様の問題に直面した場合、誰かが私を助けることができますか?
私は次のライブラリを使用しています。
助けてください。
java - @AutoFactory を @AutoValue クラスで使用するにはどうすればよいですか?
単純な AutoValue クラスがあるとします。
ファクトリーが必要になったので、Foo が必要になるたびに commonDep を渡す必要がなくなりました。これが AutoValue クラスでない場合は、 CommonDependency に注釈を付けることで、これに AutoFactory を簡単に使用できます@Provided
。
これら 2 つのコード ジェネレーターをうまく連携させる方法を知っていますか?
c#-4.0 - Autofac - JSON 構成を使用して登録されたインスタンスを解決する方法
私たちの要件は、異なるユーザー定義スレッドに対して異なる Logger インスタンスを持つことです。
] }
この JSON を作成し、それをモジュールとして登録して、18122 と 18105 の各値を個別に登録できるようにしました。
2 つのフォルダーが作成されますが、ロガーはそのファイルに書き込みません。他のファイルにも書き込みます。つまり、解決して取得したインスタンスは、その特定の値のインスタンスではありません。
コンストラクターに挿入すると、18105 のみが解決されます。
誰か助けてください!
ありがとう!