Как я могу утверждать исключение, выданное с помощью оператора switch (NUnit) - PullRequest
1 голос
/ 12 июня 2019

Я написал несколько функциональных тестов для разрабатываемой игры.Однако я пропускаю тестовые случаи, которые помогают мне утверждать об исключениях.

Я работаю с событиями как часть StateMachine, которая переключается между различными состояниями игры.Я хочу утверждать, что создание события с не реализованным случаем вызывает стандартное значение, которое вызывает исключение.

Я читал об Assert. До сих пор с Nunit выбрасывал, но я не могу понять, какправильно использовать и реализовать этот метод, когда я использую события.

Ниже приведен пример того, как я вызываю события внутри моего тестового примера:

        [Test]
        public void TestExceptionIsThrown() {
        Method().RegisterEvent(
            GameEventFactory<object>.CreateGameEventForAllProcessors(
                GameEventType.GameStateEvent,
                this,
                "CHANGE_STATE", // this is the message processed with Method()
                "", ""));
        Method().ProcessEventsSequentially();
        // assert on exception
        }

Внутри моего метода найден следующий случай по умолчанию:

       default: throw new NotImplementedException($"Event Type: {gameEvent.Message} is not supported");

Однако якажется, не могу понять, как использовать Assert.Throw, чтобы фактически утверждать это, так как он используется с событиями, а не в качестве значения, как разбор целого числа в функцию только для строки и т. д.

Может кто-нибудь помочьВыясните, как правильно использовать Assert.Throws (или аналогичные) с NUnit?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...