У меня проблемы с синтаксисом того, как получить метод теста XUnit для принятия словаря в качестве параметра. Это мой код, который не работает:
Public static Dictionary<string, string> vals = new Dictionary<string, string> { { "a", "1" }, { "b", "2" }, { "ca", "3" } };
public static object[] dicList = new object[] { vals };
[Theory]
[MemberData(nameof(dicList))]
public void CheckSomething_ReturnsSomething(Dictionary<string, string> values)
{
test stuff...
Я получаю сообщение об ошибке, которое я понимаю из-за возникшей ошибки, что мне нужен тип возврата
IEnumerable<object[]>
Я не уверен, как добиться этого с помощью словаря.
Добавил некоторый код, как было предложено: Я все еще получаю ошибку:
public static Dictionary<string, string> vals = new Dictionary<string, string> { { "a", "1" }, { "b", "2" }, { "ca", "3" } };
public static IEnumerable<object[]> dicList = new List<object[]> { new object[] { vals } };
[Theory]
[MemberData(dicList)] //error here
public void DriverLogon_CheckParams(Dictionary<string, string> values)
{
}
Новая ошибка
error. "Cannot convert from IEnumerable<object[]> To string