Вопрос

У меня есть модульный тест, который

  1. создает макет
  2. вызывает мой метод для тестирования (также вводит мой макет)
  3. утверждает результаты метода
  4. проверяет фиктивные вызовы

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

// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());

или я должен вызвать это с помощью Assert

// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));

Когда проверка завершается неудачей, я все равно получаю исключение.
Каков правильный способ макетной проверки?

Это было полезно?

Решение

VerifyGet достаточно, assert, похоже, не добавляет ценности, так зачем добавлять еще больше словоблудия?

Другие советы

Метод DoesNotThrow следует использовать для проверки того, соответствуют ли ваши собственные методы вашим спецификациям.

Короче говоря, добавление DoesNotThrow выглядит так, как будто вы тестируете поведение VerifyGet вместо поведения вашего SUT.

Конечно, вы можете обернуть это вокруг VerifyGet, но я думаю, что это только все запутывает, поскольку VerifyGet в любом случае не прошел бы тест.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top