テストデータを入力する.NETのフレームワークはありますか? [閉まっている]
質問
c#を使用しています。ユニットテストと統合テストでは、通常、属性に基づいてフィールドを自動的に設定する必要があります。
データベースにユーザーデータを書き込んで取得できるかどうかをテストするとします。
- ユーザーオブジェクトを作成し、フィールドにデータを入力し、データベースにユーザーを書き込みます
- データベースからユーザーオブジェクトを読み取る
- 書いたものが読んだものと同じかどうかフィールドをチェックする
ユーザーにテストデータを自動的に入力し、2つのオブジェクトの値が同じかどうかを確認するフレームワークはありますか?
サンプルコードは次のようになります
User user = new User();
AutoPopulator.Populate(user);
user.Save();
解決
NBuilder をご覧ください。これにより、ランダムなデータ、増分する値など、考えられるあらゆるものでテストオブジェクトを構築できます。すてきな流interfaceなインターフェースを通じて。
他のヒント
関連性があるかもしれません。以下に、今日現在の他のいくつかのフレームワークのリストを示します。
よく知られ尊敬されている:
- NBuilder
- AutoFixture
- AutoPoco
- 偽- faker.js とロケールのサポート。 Elasticsearch(NEST)によって使用されます。
少し知られている:
なじみのない:
はい。 NHibernateの夏シリーズのセッション#3をスティーブンボーレン。
彼の会社 Microdesk は、データベースの状態を保存できるユーティリティを開発しました。テストフィクスチャの構築では、各テストの開始時にデータベースの状態を設定し、テストフィクスチャの分解時にデータベースの元の状態を回復します。
ここからユーティリティをダウンロードします。 Microdesk.Utility.UnitTest
使用方法に関するチュートリアルについては、Summer of NHibernateセッション#3ビデオをご覧ください。
Fluent NHibernateには、自動入力の部分を除く、ウィッシュリストのすべてを提供する機能があります:
リンク: http://wiki.fluentnhibernate.org/Persistence_specification_testing
ただし、コードコントラクトを備えたC#を考えると、リフレクションを使用して自分で有効なオブジェクトを自動的に自動作成することは難しくありません。