18


0

私はAutofacに登録されたたくさんの型を持っています、そして依存関係のいくつかはかなり深いです。 すべての登録済みタイプを解決できることをテストするための組み込みの方法はありますか? 私はアプリケーションの起動時に早く失敗し、数分後に途中で失敗したくはありません。

これは私が現在行っていることであり、うまくいくように思えますが、それでももっと良い方法がないかどうか私はまだ疑問に思います。

public void VerifyAllRegistrations(){foreach(_container.ComponentRegistrationsへのIComponentRegistration登録){bool isNewInstance; registration.ResolveInstance(_container、新しいパラメータ[0]、新しいDisposer()、out isNewInstance); }}

プライベートクラスDisposer:IDisposer {public void Dispose(){// no-op}

public void AddInstanceForDisposal(IDisposable instance){instance.Dispose(); }}

1 Answer


6


Autofacはその効果に対して何も提供していません - AutofacはResolveInstanceに応答してコンポーネントを作成するので、あなたはコンストラクタの副作用などに直面することになるでしょう

これに対処するには統合テストが最善の方法です。