Conversation
…в NumberValidator
There was a problem hiding this comment.
Если есть TestCase, то [Test] писать не нужно, это почти синонимы. Тут и во всех тестах ниже
There was a problem hiding this comment.
Все изощренности с названиями нужны исключительно для читаемости будущих тестов. Ты определенно сделал шаг в этом направлении, надо только чуток докрутить.
Почему так? Читая тест кейсы в инспекторе, мы и так понимаем, что находимся внутри метода Creation_ShouldThrowArgumentException, поэтому дублирование только создает лишнюю когнитивную нагрузку. Также при переименовании метода, TestName автоматом не обновится, если это не сделает IDE
-
Когда удалится дублирование, останутся фразы вида
When..., от них на самом деле тоже можно избавиться, оставив только самую суть - что проверяет данный тесткейс -
Поправить нужно тут и во всех тестах ниже
There was a problem hiding this comment.
Форматирование немного поехало, между аргументами нет пробелов. Важная штука, не забывай перед сдачей на ревью
There was a problem hiding this comment.
Для чего в тесте аргумент onlyPositive, если он всегда равен true?
There was a problem hiding this comment.
Не хватает ещё одного граничного, очень похожего на этот ))
There was a problem hiding this comment.
Во всех методах этого класса потерялась часть, означающая "при каком условии выполняется действие", то есть часть, начинающаяся на _When.... В случае с TestCase желательно обобщить все тесткейсы под одно выражение и записать его в название метода, а сами тесткейсы уже будут пояснять детали своими названиями
There was a problem hiding this comment.
Точно ли здесь учтены все случаи корректной работы метода?
There was a problem hiding this comment.
Понимаю, что этот файл создавал не ты, но быть может задумка автора как раз и была в том, чтобы с какими-то конвентами знакомить
В большом продакшене придется работать с тысячами файлов и классов, и всегда удобно, когда каждый класс, интерфейс, enum и тд лежит в своем собственном файле. Давай тут сделаем так же
Аналогично с соседним файлом
cs/HomeExercises/ObjectComparison.cs
Outdated
There was a problem hiding this comment.
Не могу почему-то написать комментарий парой строк выше)) Напишу тут - понятное ли название у теста?
cs/HomeExercises/ObjectComparison.cs
Outdated
There was a problem hiding this comment.
Замени здесь Василия 3, на Василия 2 и прогони тест, ожидаемое ли это поведение?
Переписал тест с одним testCase Перенёс тесты в отдельные файлы Добавил тест в Creation_ShouldThrowArgumentException Убрал параметр OnlyPositive Изменил тест для проверки царя
| } | ||
| } | ||
|
|
||
| public class NumberValidator |
There was a problem hiding this comment.
Файл все ещё называется NumberValidatorTests)
cs/HomeExercises/ObjectComparison.cs
Outdated
There was a problem hiding this comment.
И тут название файла не совпадает с названием класса
| creation | ||
| .Should() | ||
| .NotThrow<Exception>(); | ||
|
|
| using FluentAssertions; | ||
| using NUnit.Framework; | ||
| using NUnit.Framework.Internal; | ||
|
|
There was a problem hiding this comment.
Все ещё нет глагола перед False и True тут и ниже, вспомни про порядок именований в тестах
Method_Should..._When...
Добавил по тесту с onlyPositive = true Доработал нейминг тестов

@VladSavitskiy