私のテストプロジェクトは、レガシーのサードパーティ製ソフトウェアに入力される一連の入力データファイルで構成されています。このソフトウェアの入力データファイルは構築するのが難しいため(意図的に行うことはできません)、新しい入力データファイルを追加するつもりはありません。データドリブンテストのためのNUnit GUIのカスタマイズ
各入力データファイルには、一連の「テスト機能」が適用されます。いくつかのテスト関数は独立して呼び出すことができます。他のテスト機能は、順次操作の段階を表します。早期段階で障害が発生した場合、後続段階を実行する必要はありません。
私はNUnitのパラメータ化されたテストケース(TestCaseAttributeとTestCaseSourceAttribute)をテストケースとしてデータファイルのリストに渡して実験しました。私は一般に、テストのために入力データを選択する能力に満足しています。
しかし、「テスト関数」が「入力データ」の子になるようにGUIのツリー構造をカスタマイズすることができるかどうかを確認したいと思います。たとえば、次のように
- ファイル#1
- CheckFileTypeTest
- GetFileTopLevelStructureTest
- CompleteProcessTest
- StageOneTest
- StageTwoTest
- StageThreeTest
- ファイル#2
- CheckFileTypeTest
- GetFileTopLevelStructureTest
- CompleteProcessTest
- StageOneTest
- StageTwoTest
- StageThreeTest
これは、特定の入力ファイルの処理中に障害が発生した段階を同定するために有用であろう。
新しいツリーレイアウトを有効にするヒントはありますか?このレイアウトを取得するにはNUnitをカスタマイズする必要がありますか?
編集:テストデータとテストコードの分離の概念については、Term for unit testing that separates test logic from test result dataをご参照ください。私の状況では、分離は理想的な理由ではなく、実用的な懸念によって推進されます。テストデータファイルのソースは「野生の中」です。
データ駆動型テストの他の逸話使用:
- http://www.clear-lines.com/blog/post/Data-driven-tests-with-NUnit-25.aspx
- http://www.clear-lines.com/blog/post/No-Tolerance-for-NUnit-Data-Driven-tests.aspx
確かにNUnitのGUIはカスタマイズを全く提供していません(あるいは、それは非常に限られています)。あなたは自分で書く必要があります。 –
GUIのテストでは、友人ではなく、あなたの敵です:)しかし、あなたができることは、テストが終了した後にXML出力を変換し、うまくフォーマットされたHTMLに吐き出すことです。私はいくつかのテストを隠すためにこれを前にやっています。名前の変更などです。ところで、http://www.gallio.org/ + MbUnitはNUnitよりも優れています。私は誓います! –
@rwongこれをStackOverflowに移行します。この質問はProgrammers.SEにとってあまりにも客観的です。あなたはおそらくそこで答えを得る良いチャンスがあります。 –