Как использовать FormattableString[] в TestCaseSource

У меня есть тест NUnit, который должен проверить кучу разных случаев, и я передаю их, используя:

      static IEnumerable<TestCaseData> TestCaseSourceData()
{
    FormattableString data1 = FormattableStringFactory.Create("test{0}", 1);
    yield return new TestCaseData(new []{ data1 });
}

[TestCaseSource("TestCaseSourceData")]
public void FormattableStringTest(FormattableString[] coreMessages)
{
    //...
}

Но это дает мне ошибку:

System.ArgumentException: объект типа «System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString» не может быть преобразован в тип «System.FormattableString[]».

      System.ArgumentException : Object of type 'System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString' cannot be converted to type 'System.FormattableString[]'.
   at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
   at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr)
   at System.Reflection.MethodBase.CheckArguments(StackAllocedArguments& stackArgs, ReadOnlySpan`1 parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at NUnit.Framework.Internal.Reflect.InvokeMethod(MethodInfo method, Object fixture, Object[] args)

Теперь, если я использую это TestCaseSource:

      static IEnumerable<TestCaseData> TestCaseSourceData()
{
    FormattableString data1 = FormattableStringFactory.Create("test{0}", 1);
    yield return new TestCaseData(new []{ data1, data1 });
}

Я получаю другую ошибку:

Предоставлено слишком много аргументов, укажите не более 1 аргумента.

Что не так с моим кодом? Я могу отправить любой другой тип, но не FormattableString.

0 ответов

Другие вопросы по тегам