Используя Moq, я написал пример модульного теста для своего класса обслуживания, чтобы проверить выброшенное исключение, я хочу охватить следующую строку (случай по умолчанию) кода службы, поэтому я использовал опцию «Assert.Throws» дляподтвердить брошенный Аргумент Исключение.
Но проблема здесь в том, что, когда я отлаживаю этот тестовый случай, то передается исключение аргумента и утверждение, но если я запускаю этот тестовый случай, тогда результат получается как нулевой, так что утверждение становится неудачным.Где я ошибся?В чем здесь проблема?
Код моего класса обслуживания:
...
case 1 /*TEXT*/:
case 2 /*SINGLESELECT*/:
return new string[] { stringValue ?? "" };
default:
throw new ArgumentException("Invalid SettingInputTypeId");
Мой тестовый пример:
...
var ex = Assert.Throws<ArgumentException>(() => testScenario.Service.GetSettingDefinitions(user, accordion, (int)SettingLevel.Organization, org.OrganizationId, 1));
Assert.That(ex.Message, Is.EqualTo("Invalid SettingInputTypeId"));
TEST Причина ошибки:
Message: Expected result to be <System.ArgumentException>,
But was null