我正在尝试使用LightInject框架设置xUnit,但无法使xUnit InlineDataAttribute正常工作。以下测试代码不起作用:
public static void Configure(IServiceContainer container)
{
container.Register<FooController>();
}
[Theory, InjectData, InlineData("data")]
public void Test_GetViolations_Should_Return_A_Non_Empty_List(FooController service, string somedata)
{
Assert.NotEmpty(service.GetViolations(somedata));
}
这会给出一个错误,说明它找不到任何要为参数somedata注入的内容。删除InlineDataAttribute将使注入工作。我真的很喜欢xUnit的InlineData功能,那么我该如何让它与LightInject一起工作呢?
LightInject作者已经修复了这个问题。现在可以这样做了。