NUnit: создает исключение в режиме отладки, но не в режиме выполнения - PullRequest
0 голосов
/ 31 января 2019

Используя 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
...