0

ORM ドメイン モデルの構造を検証する一連の単体テストがあります。最初のテストでは、メタデータ内のエンティティの数をカウントするため、146 エンティティとしましょう。

これは、名前を検証するために 146 個の単体テストが必要であることを意味しproperty\collectionます。

私の問題は、テストをテストするためのテストが必要なことです:)

エンティティ数 == テスト メソッド数を検証する方法はありますか (クラスには多くのメソッドがあるため、名前は X で始まります)

4

1 に答える 1

0

ORM ソリューションの各エンティティのテストを作成したことを検証しようとしている質問を理解できた場合。具体的には、146 個のエンティティがある場合、対応する 146 個のテストが必要であると想定しています。事実上、正しい数のテストを作成したことを主張したいと考えています。

最も明白な解決策は、テスト アセンブリでリフレクションを使用し、探しているテストを抽出することです。ここでは、エンティティのハッシュセットを構築したり、命名規則や定義したカスタム属性を使用してテスト フィクスチャを識別したりするなど、多くの簡単なことができます。

ただし、以前に同様の問題に直面したことがある場合、おそらくより洗練された解決策は、メタデータとリフレクションを使用してエンティティをテストするカスタム テスト フレームワーク コードを使用することです。ここでも同じ「テストをテストする方法」の問題が発生しますが、長い形式のテストとカスタム テスト フレームワークが同じ結果を達成することを示すいくつかのテストを作成することで軽減できます。自動化が健全であることを証明できれば、テストのメンテナンスに関する懸念はもはや問題にはなりません。もう 1 つの利点は、テスト データをランダム化し、テストが頻繁に実行される場合にエンティティの予期しない問題を発見できることです。

于 2013-01-18T03:38:34.290 に答える