如何在所有组合上运行测试?

时间:2014-02-10 17:12:28

标签: unit-testing

我使用xUnit.net作为我的测试框架,但我想这个问题适用于其他框架。我的方法下面有两个布尔值。如何在不必写出每个组合的情况下测试所有组合?

    [Theory,
    InlineData(false, false),
    InlineData(true, false),
    InlineData(false, true),
    InlineData(true, true)]
    public void Foo(bool A, bool B )

有没有办法做类似的事情:

    [Theory,
    SomeAttribute( for(int i=0; i<5; i++), for(int y=0; y<5; y++)),
    public void Foo(int A, int B )

将运行此测试5x5 = 25次?

1 个答案:

答案 0 :(得分:0)

 public static IEnumerable<object[]> FooData
    {
        get
        {
            for (int a = 0; a < 2; a++)
            {
                for (int b = 0; b < 2; b++)
                {
                   yield return new object[] {a > 0, b > 0};
                }   
            }
        }
    }

    [Theory]
    [PropertyData("FooData")]
    public void Foo(bool A, bool B)