Как передать значения в тесты 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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