Кроткая Александра, Задача по тестированию#41
Кроткая Александра, Задача по тестированию#41Krotkaya wants to merge 2 commits intokontur-courses:masterfrom
Conversation
ДЗ включало в себя: - Использование FluentAssertions при написании тестов
| new Person("Vasili III of Russia", 28, 170, 60, null)); | ||
|
|
||
| // Перепишите код на использование Fluent Assertions. |
There was a problem hiding this comment.
Нужно переписать все проверки на Fluent Assertions
There was a problem hiding this comment.
В этом классе ObjectComparison у меня только изначальный код для задания был написан через ClassicAssert (мое решение на Fluent Assertions было под ним снизу).
Сейчас я убрала изначальный вариант первого теста полностью, теперь ClassicAssert есть только во втором тесте для того, чтобы наглядно видеть недостатки такой структуры.
| [Test] | ||
| public void Constructor_ThrowExceptions_InvalidParameter() | ||
| { | ||
| Assert.Throws<ArgumentException>(() => new NumberValidator(-1, 2, true)); |
There was a problem hiding this comment.
давай в тестах на этот блок тоже заиспользуем FluentAssertions
There was a problem hiding this comment.
NumberValidatorTests полностью переписала на FluentAssertions
| } | ||
|
|
||
| [Test] | ||
| public void Constructor_DoesNotThrowExceptions_CorrectParameter() |
There was a problem hiding this comment.
Этот и тест выше, лучше вынести в testcases, иначе можем упасть на 1й проверке и будет не выполнен критерий: при падении теста было без стек-трейса понятно на каких данных код не работает
По хорошему писать тесты максимально атомарными
There was a problem hiding this comment.
Да, понимаю почему, переделала
Изменения: - Убрала лишний код с заданием на ClassicAssert - NumberValidatorTests добавила FluentAssertions - Вынесла проверки на exceptions в TestCase
@Zuguki