Модульные тесты с фиктивными проверками - PullRequest
2 голосов
/ 10 июля 2009

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

  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()));

Если проверка не удалась, я все равно получаю исключение.
Как правильно проверять ложные показания?

Ответы [ 2 ]

2 голосов
/ 10 июля 2009

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

1 голос
/ 10 июля 2009

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

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

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

...