Как передать значения в тесты xUnit, которые принимают десятичное число, допускающее значение NULL?C#

Место общения программистов C#
Anonymous
Как передать значения в тесты xUnit, которые принимают десятичное число, допускающее значение NULL?

Сообщение Anonymous »

Один из моих модульных тестов имеет такую ​​подпись:

Код: Выделить всё

public void FooWithFilter(string fooId, decimal? amount)
Когда я тестирую его с нулевым значением, он работает:

Код: Выделить всё

[InlineData("123", null)]
Но если я использую фактическое значение, например:

Код: Выделить всё

[InlineData("123", 610)]
Я получаю сообщение об ошибке:

Код: Выделить всё

System.ArgumentException Object of type 'System.Int32' cannot be
converted to type 'System.Nullable`1[System.Decimal]'.
Я пробовал использовать 610M в качестве значения атрибута, но это запрещено в качестве значения атрибута:

Код: Выделить всё

An attribute argument must be a constant expression, type of expression
or array creation expression of an attribute parameter type.
Есть ли здесь способ использовать десятичную дробь, допускающую значение NULL?

Подробнее здесь: https://stackoverflow.com/questions/515 ... le-decimal

Вернуться в «C#»