同じ名前空間に複数のテストがあります。私は、私の単体テストごとに、Test1、Test2などの命名規則を使用しませんでした。だから、今私はすべてのテストを実行すると、彼らは私が望む順序で実行されません。テストを注文する方法はありますか?Visual StudioのC#でテストの順序を指定することはできますか?
私のテストは、特定の順序で実行しなければ失敗しません。しかし、テストケースのスプレッドシートの順序で実行したかっただけです。
同じ名前空間に複数のテストがあります。私は、私の単体テストごとに、Test1、Test2などの命名規則を使用しませんでした。だから、今私はすべてのテストを実行すると、彼らは私が望む順序で実行されません。テストを注文する方法はありますか?Visual StudioのC#でテストの順序を指定することはできますか?
私のテストは、特定の順序で実行しなければ失敗しません。しかし、テストケースのスプレッドシートの順序で実行したかっただけです。
あなたが探している答えははいです。私は孤立の原則に同意しますが、一連のイベントをテストする必要があるシナリオがあります。 VS 2010では、一連のテストをバンドルして順次テストするための新しい「オーダードテスト」を作成できます。
@GlennFerrieLive "Ordered Test"が実際に行っていることのコード例やリンクは素晴らしいでしょう! – iGanja
@iGanja - ここにサンプルがあります。私はそれを圧縮し、ブロブストアに置く - http://j.mp/so-tests-sample –
あなたのテストは注文依存であってはなりません。それはテストの非相互依存性の概念を破ります。 Visual Studioでテストを注文する能力がないことは、この概念を反映したものです。
次に、Ordered Testと呼ばれるテスト・タイプがどのように定義されているかを定義します。ここで、実行するユニット・テストとその順序を選択します。 –
Visual Studioには、(MSTestフレームワークを使用していると仮定して)順序付けられたテストのための組み込みテンプレートがあります。テストプロジェクトでコンテキストメニューを開くと、「新規テスト」メニューまたは直接「オーダードテスト」として利用できます。以前はそれを使用していませんでしたが、ソリューションですべてのテストを実行している場合、テストは未定義の順序で実行されると仮定しています。
ああ、あなたはユニットテストの主要なルールの1つ、「分離」に違反しています。
テストには決して依存しない注文があるべきです。答えを待たずに、リファクタリングして、あなたが実際にテストするリファクタリングをしてください。私を信じて、それは今行うより良いです:)
ありがとう!私のテストは依存していませんが、テストケースのスプレッドシートの順序で実行するようにしました。 – Maya
ok)しかし、とにかく、あなたはそれをするべきではない..) –
私はこの質問が一種のものだと知っているが、私は同じ問題を抱えている。私は、私が管理していないデータベースと通信する2つの独立したテストを持っています。適切なテストを実行するには、非アクティブ化テストの前にアクティブ化テストを実行する必要があります。それのための方法はありますか?それはまた、孤立の "主要な"ユニットテストルールに違反していますか? ユニットテストを使用して、データベースサーバとの通信が正常に機能していることを確認したかったので、単体テスト用に自分のテストデータベースをホストしたくありませんでした。 –
あなたは、適切なユニットテストであるかどうかは関係ありませんと言って、多くのコメントを得るでしょう! –
正しいかどうかは関係ありません... –
私は適切な単体テストの概念に同意しますが、多数のテストをデバッグするには、テストの実行順序を記録できると便利です。テストが適切に行われるようにデバッグすることができます。 – demongolem