在单个测试类中测试接口的多个实现

时间:2015-05-17 11:23:54

标签: c# .net unit-testing xunit.net

我需要在类级别传递测试数据,但TheoryInlineData属性只能用于方法。

public class ContainerTests : TestFixture
{
    private IContainer _container;

    public ContainerTests(string containerName)
    {
        _container = CreateContainer(containerName);
    }

    [Fact]
    public void ResolveJobFactory()
    {
        IJobFactory jobFactory = _container.Resolve<IJobFactory>();
    }

    private IContainer CreateContainer(string containerName)
    {
        if (containerName == "CastleWindsor")
        {
            return new WindsorContainerAdapter();
        }
        //other adapters

        throw new NotImplementedException();
    }
}

有没有办法在xUnit.net中实现类似的东西?

1 个答案:

答案 0 :(得分:4)

  

在单个测试中测试接口的多个实现   类

唐&#39;吨!每个实现都有一个测试类。

编辑:根据评论,我建议有一个基础TestClass包含所有常见测试,然后是每个实现的测试类,它继承自这个基类。