Передача одного значения в аргумент params в NUnit TestCase

У меня есть следующий тест:

[ExpectedException(typeof(ParametersParseException))]
[TestCase("param1")]
[TestCase("param1", "param2")]
[TestCase("param1", "param2", "param3", "optParam4", "optParam5", "some extra parameter")]
public void Parse_InvalidParametersNumber_ThrowsException(params string[] args)
{
    new ParametersParser(args).Parse();
}

Первый TestCase (очевидно) завершается со следующей ошибкой :

System.ArgumentException : Object of type 'System.String' 
cannot be converted to type 'System.String[]'.

Я попытался заменить определение TestCase этим:

[TestCase(new[] { param1 })]

но теперь я получаю следующую ошибку компиляции:

ошибка CS0182: Аргумент атрибута должен быть константным выражением, выражением typeof или выражением создания массива атрибут тип параметра

Мое решение на данный момент заключается в переносе случая с одним параметром на другой метод тестирования.

Тем не менее, есть ли способ заставить этот тест работать так же, как и другие?

9
задан Cristian Lupascu 7 March 2013 в 07:51
поделиться