Skip to content

Кроткая Александра, Задача по тестированию#41

Open
Krotkaya wants to merge 2 commits intokontur-courses:masterfrom
Krotkaya:homework-testing
Open

Кроткая Александра, Задача по тестированию#41
Krotkaya wants to merge 2 commits intokontur-courses:masterfrom
Krotkaya:homework-testing

Conversation

@Krotkaya
Copy link
Copy Markdown

@Krotkaya Krotkaya commented Oct 27, 2025

ДЗ включало в себя:
- Использование FluentAssertions при написании тестов
Copy link
Copy Markdown

@Zuguki Zuguki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Посмотрел, нужно поправить

new Person("Vasili III of Russia", 28, 170, 60, null));

// Перепишите код на использование Fluent Assertions.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно переписать все проверки на Fluent Assertions

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В этом классе ObjectComparison у меня только изначальный код для задания был написан через ClassicAssert (мое решение на Fluent Assertions было под ним снизу).
Сейчас я убрала изначальный вариант первого теста полностью, теперь ClassicAssert есть только во втором тесте для того, чтобы наглядно видеть недостатки такой структуры.

[Test]
public void Constructor_ThrowExceptions_InvalidParameter()
{
Assert.Throws<ArgumentException>(() => new NumberValidator(-1, 2, true));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

давай в тестах на этот блок тоже заиспользуем FluentAssertions

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumberValidatorTests полностью переписала на FluentAssertions

}

[Test]
public void Constructor_DoesNotThrowExceptions_CorrectParameter()
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Этот и тест выше, лучше вынести в testcases, иначе можем упасть на 1й проверке и будет не выполнен критерий: при падении теста было без стек-трейса понятно на каких данных код не работает

По хорошему писать тесты максимально атомарными

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, понимаю почему, переделала

Изменения:
- Убрала лишний код с заданием на ClassicAssert
- NumberValidatorTests добавила FluentAssertions
- Вынесла проверки на exceptions в TestCase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants