FluentAssertionsを使用してコンバータがタイプに適用されているかどうかをアサートする方法

スダマトリパシ

マップを作成するためにいくつかの複雑なロジックを適用する必要があるため、以下のようにカスタムタイプコンバーターを使用しました。

cfg.CreateMap<ConsumerRequest,IEnumerable<ProviderRequest>>().ConvertUsing<RequestConverter>();

単体テストでfluentassertionsを使用していて、ConsumerRequestにRequestConverterが適用されていることを表明したいのですが、その方法がわかりません。メッセージで同じことを表明する拡張メソッドを修正できるはずですが、これを実現する方法がわかりません。 、どんな助けでも本当にありがたいです。

スダマトリパシ

以下のようにIMapperに拡張メソッドを作成しました。

public static AutoMapperTypeConverterAssertions<TDestinationModel>ForType<TDestinationModel>(this IMapper subject)
{
  return new AutoMapperTypeConverterAssertions<TDestinationModel>(subject);
}

public class AutoMapperTypeConverterAssertions<TDestinationModel> : ReferenceTypeAssertions<object, AutoMapperTypeConverterAssertions<TDestinationModel>>
{
   public AutoMapperTypeConverterAssertions(object subject)
   {            
     Subject = subject;
   }

   protected override string Context => "auto mapper type converter";

   public AndConstraint<AutoMapperTypeConverterAssertions<TDestinationModel>> ShouldHaveTypeConverterApplied<TSourceModel, TConverterType>(
    string because = "", params object[] becauseArgs)
   {            
      var mapper = Subject as IMapper;
      var foundTypeInConfig = mapper
        .ConfigurationProvider
        .FindTypeMapFor<TSourceModel, TDestinationModel>()
        .TypeConverterType;

      Execute.Assertion
         .BecauseOf(because, becauseArgs)
         .ForCondition(foundTypeInConfig == typeof(TConverterType))
         .FailWith("Expected the mapping for {0} to contain {1} AutoMapper   Type Converter, but was not found.", typeof(TDestinationModel).Name,   typeof(TConverterType).Name);

  }
return new     AndConstraint<AutoMapperTypeConverterAssertions<TDestinationModel>>(this);


}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

jqueryバリデーターを使用して、フォームを送信する前にファイルがアップロード用に選択されているかどうかを検証するにはどうすればよいですか?

Webサーバーからデータが変更されるたびに、(ベースアダプターを使用して)リストビューを2つのアイテムで更新するにはどうすればよいですか?

ターミナルを使用して、アプリがMacOSにインストールされているかどうかを確認します

クライアント側のPolymer.dartを使用してサーバー側のDartにデザインパターンを適用するにはどうすればよいですか?

Swiftでデバイスまたはシミュレーター用にアプリがビルドされているかどうかを検出する方法

それ自体がプライマリルーターアウトレットを介して提供されるコンポーネント内でAngularルーターアウトレットを使用するにはどうすればよいですか?

asp.netコアがWindowsサーバーにインストールされているかどうかを確認する方法

コードを使用してブラウザにJavaプラグインがインストールされているかどうかを確認する方法

ビュールーターを介してロードされたコンポーネントにVue.jsスコープスタイルを適用するにはどうすればよいですか?

インストールされているすべてのプリンターリストとサポートされている用紙サイズをUWPアプリで取得するにはどうすればよいですか?

既存のmongodbをMONGO_URLとして使用する場合、Meteorサーバーコレクションからクライアントコレクションにデータを確実にプルするにはどうすればよいですか?

Haskellで、制約をパラメトリックニュータイプにアタッチして、それを使用するすべてのクラスインスタンスに自動的に適用されるようにするにはどうすればよいですか?

BlazorアプリでSASSによって生成されたブートストラップを使用して入力にブートストラップスタイルを適用するにはどうすればよいですか?

タイプを使用して特定のパラメーターのペアを適用するにはどうすればよいですか?

PDFTOHTMLがサーバーにインストールされているかどうかを確認します

PHPを使用してサーバーサイドでラジオボタンがチェックされているかどうかを確認する

クーポンコードがwoocommerceに適用されているかどうかを確認します

Dockerを使用して、1台のサーバーで実行されている複数のアプリケーションにクライアントがアクセスできるようにするにはどうすればよいですか?

アップグレードコードに基づいてアプリがインストールされているかどうかを検出する方法

ASP.NET MVCバンドルを使用しているときに、クライアントがサーバーにアクセスしてファイルが変更されているかどうかを確認するのはなぜですか?

デバッガーのビジュアルスタジオコードを使用してステップインする前に、ifステートメントがどのように評価されるかを確認できるかどうか疑問に思いました。

CSSファイルを使用してmaterialUI組み込みクラスをオーバーライドしようとしていますが、スタイルはReactのすべてのコンポーネントを適用していますが、スタイルのグローバルなオーバーライドを停止するにはどうすればよいですか?

サーバー側のタイムスタンプをスコアとしてRedisでソートされたセットに保存するにはどうすればよいですか?

異なるコンピューターで実行されている仮想マシンでクライアントサーバーアプリケーションを実行するにはどうすればよいですか?

ボタンがサイドバーに設定され、位置を使用してサイドバーの外側に表示されるときに、ボタンとモーダルポップアップを管理するにはどうすればよいですか?

デバイスのすべてのアプリにパターンロックを適用するにはどうすればよいですか?

Javaクライアントにソケットを使用してコンピューター上にないサーバーに接続させるにはどうすればよいですか?

ターミナルシェルコマンドを使用して、アップルのCF絶対時間またはコアデータでサポートされているタイムスタンプを取得するにはどうすればよいですか?

ターゲット「Webコンポーネント」を使用してVueアプリを構築する-SCSSスタイリングが適用されていませんか?

TOP 一覧

  1. 1

    三項演算子良い練習の代わりとしてOptional.ofNullableを使用していますか?

  2. 2

    Spring Boot Filter is not getting invoked if remove @component in fitler class

  3. 3

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    ビュー用にサイズ変更した後の画像の高さと幅を取得する方法

  6. 6

    画像変更コードを実行してもボタンの画像が変更されない

  7. 7

    Three.js indexed BufferGeometry vs. InstancedBufferGeometry

  8. 8

    VisualStudioコードの特異点/ドッカー画像でPythonインタープリターを使用するにはどうすればよいですか?

  9. 9

    Python / SciPyのピーク検出アルゴリズム

  10. 10

    Ansibleで複数行のシェルスクリプトを実行する方法

  11. 11

    __init__。pyファイルの整理中に循環インポートエラーが発生しました

  12. 12

    二次導関数を数値計算するときの大きな誤差

  13. 13

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  14. 14

    androidsoongビルドシステムによるネイティブコードカバレッジ

  15. 15

    Reactでclsxを使用する方法

  16. 16

    値間の一致を見つける最も簡単な方法は何ですか

  17. 17

    Using Angular's UI-router, how can we make sure the new version of the html partial views are used, rather than the cached version?

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    PyTesseractを使用した背景色のため、スクリーンショットからテキストを読み取ることができません

  20. 20

    エンティティIDを含む@RequestBody属性をSpringの対応するエンティティに変換します

  21. 21

    How to access json value by key value in freemarker?

ホットタグ

アーカイブ