在单个测试中测试接口的多个实现 class
Testing multiple implementations of an interface in a single test class
我需要在 class 级别传递测试数据,但 Theory
和 InlineData
属性只能用于方法。
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 中实现类似的东西?
Testing multiple implementations of an interface in a single test
class
不要!对每个实施进行测试 class。
编辑:根据评论,我建议有一个包含所有常见测试的基本测试Class,然后每个实现的测试Class继承自这个基本class .
我需要在 class 级别传递测试数据,但 Theory
和 InlineData
属性只能用于方法。
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 中实现类似的东西?
Testing multiple implementations of an interface in a single test class
不要!对每个实施进行测试 class。
编辑:根据评论,我建议有一个包含所有常见测试的基本测试Class,然后每个实现的测试Class继承自这个基本class .