【发布时间】:2017-12-31 03:41:45
【问题描述】:
我对 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 对象,其中包含 Config 和其他类型的配置,但我需要检查每个参数是否有效。由于它们都是字符串,我想简化使用 [InlineData] 属性而不是编写 N 等于测试。
不幸的是,我得到的错误是“无法将 lambda 表达式转换为类型 'object[]',因为它不是委托类型”,这非常清楚。
你知道如何克服这个问题吗?
【问题讨论】:
标签: c# .net unit-testing xunit