聯數據我是很新,的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