联数据我是很新,的xUnit和这里的想什么,我来实现:Lambda表达式中的xUnit
[Theory]
[InlineData((Config y) => y.Param1)]
[InlineData((Config y) => y.Param2)]
public void HasConfiguration(Func<Config, string> item)
{
var configuration = serviceProvider.GetService<GenericConfig>();
var x = item(configuration.Config1); // Config1 is of type Config
Assert.True(!string.IsNullOrEmpty(x));
}
基本上,我有一个GenericConfig对象包含配置等种类的配置,但我需要检查每个参数是否有效。由于它们都是字符串,我想简化使用[InlineData]属性,而不是写N等于测试。
不幸的是,我得到的错误是“无法将lambda表达式转换为类型'object []',因为它不是委托类型”,这非常清楚。
你有什么想法来解决这个问题吗?
虽然它似乎是一个更好的解决方案,但我不太喜欢它,因为它会在测试浏览器中显示为单个测试。我很乐意看到所有必需的参数(如我在提供的答案中)。不管怎样,谢谢你! – xTuMiOx
真的,这看起来像是测试浏览器中的一个bug。 – Iqon