如何设置参数化夹具以配置&重用构建逻辑?

时间:2014-06-09 15:55:23

标签: c# unit-testing tdd xunit

问题是如何设置参数化夹具?

using Xunit;

public class Fixture : IDisposable
{
    public Fixture(int param1, int param2)
    {
        // logic that depends on the value of the parameters
    }

    public void Dispose()
    {
    }
}

// How can the test supply the value of the parameters to 
// Fixture's constructor?
public class UnitTest : IUseFixture<Fixture>
{
    [Fact]
    public void Test()
    {
    }

    public void SetFixture(Fixture data)
    {            
        throw new NotImplementedException();
    }
}

1 个答案:

答案 0 :(得分:0)

据我所知,为什么要使用IUseFixture,它是按Testcase Class提供数据。这意味着数据将在Testcase类的Testcase Objects之间共享。从这个意义上说,在Testcase类中使用静态字段将与您想要的相同。

public class UnitTest
{
    private static Fixture fixture = new Fixture(1, 2);

    [Fact]
    public void Test()
    {
    }
}