すもぎのめも

いろいろあったことをメモしています

NaturalSpec を使用したパラメータ化されたシナリオ

前回の記事では NaturalSpec についての多くを書いた。今回はパラメータ化されたシナリオを使用する方法を示す。

1. 事前に定義されたシナリオを使用する
定義済みのパラメータ化されたシナリオを書くことによって、多くの異なるテストケースを持ったシナリオスイートを簡単に作成できる。

NUnit を使用してこれらのシナリオを実行した場合、次のように出力される


2. ScenarioTemplate 属性を使う
2つ目の、より短いオプションは NUnit の新しい TestCase 属性を継承した ScenarioTemplate 属性を使うことだ。

このコードは4つの異なるシナリオを作成し、NUnit はそれらを別々に表示・通知する。

f:id:smallgeek:20120826164409p:plain


3. ScenarioSource 属性を使用する
3つ目のオプションは、ScenarioSource属性を使用することだ。ここで、テストデータを生成する関数を定義する。

その後、NaturalSpec にどのテストデータをシナリオが使用するかを教えてやる必要がある。

f:id:smallgeek:20120826164920p:plain


まとめ
時に、異なるパラメータ群を使用してシナリオをテストすることは理にかなっている。 ScenarioTemplate 属性を使用すれば、簡単にシナリオをパラメータ化することができる。さらに柔軟性が欲しければ、事前に定義されたシナリオに、カスタマイズされたパラメータか、ScenarioSource 属性を合わせて使用すればいい。