文字列パラメーターを指定して、一連の単体テストのバリエーションを生成する単一の関数があります。ファクトリ メソッドの文字列パラメータを追加で取るファクトリ属性 (または代替メソッド) を使用するにはどうすればよいですか?
自動テスト フレームワークに Gallio/mbUnit を使用しています。
文字列パラメーターを指定して、一連の単体テストのバリエーションを生成する単一の関数があります。ファクトリ メソッドの文字列パラメータを追加で取るファクトリ属性 (または代替メソッド) を使用するにはどうすればよいですか?
自動テスト フレームワークに Gallio/mbUnit を使用しています。
[TestFixture]
public class SampleFixture
{
[Column("123", "456")]
private string parameter; // Causes the fixture to be run once for each value.
public IEnumerable<string> GetData()
{
yield return "abc" + parameter;
yield return "def" + parameter;
yield return "ghi" + parameter;
}
[Test, Factory("GetData")]
public void MyDataDrivenTest(string text)
{
TestLog.WriteLine(text);
}
}
Galliowikiのデータ駆動型テストに関する記事を読むことをお勧めします。MbUnitを使用してデータ駆動型テストを作成するための、、およびその他の便利な機能の使用方法を説明する多くの例があります。[Row]
[Column]
更新:上記の例では、ファクトリからのデータを外部パラメータと連結したところです。したがって、テストは6回実行されます(「abc123」、「def123」、「ghi123」、「abc456」、「def456」、および「ghi456」)。ただし、パラメータを別の方法で使用することもできます。の動作全体を変更するなどGetData
。