Непонятки с EF
Прилепил базу - прекращай называть тест "юнит-тестом"
Как будет подобное соглашение в команде, можно и переназвать. Но пока не вижу особого смысла в смене названия.
Про конкретный метод
Все методы в классе практически одинаковые _dbContext.xxxx;
Что сложного-то?
То что уже есть группа интеграционных тестов и эта группа придерживается другой классификации.
Если с правой стороны объявлен тип, то с левой писать его ещё раз не имеет смысла. Ну кроме случаев...
ну вот именно, что кроме случаев...
И в какой-то стороне обязательно нужно.
Но дать возможность не писать лишнее слово там, где это не нужно - нужно.
если имеемся в виду убрать var? Не думаю что это просто с точки зрения компилятора, да и большой бардак получается при этом.
Для этого есть необратимые конвертеры старого в новое.
Эти все рассуждения хороши пока нет тонн старого кода.
Кто даст 100% гарантию того, что после конвертации всё будет работать как и раньше?
Как минимум, нужно проводить дополнительное тестирование. А на это времени просто нет.
Как будет подобное соглашение в команде, можно и переназвать. Но пока не вижу особого смысла в смене названия.
Дааа... "И эти люди запрещают мне ковырятся в носу" (с)
Может намекнуть команде, что назвать вещи надо так, как они называются? Ну, чисто по приколу. Чтобы вас понимать было можно.
P.S. А потом ходят такие "командные" и рассказывают о юнит-тестах, которые они не пишут, потому что они очень долго выполняются. А ты сидишь и гадаешь что же он имел в виду?
Может намекнуть команде, что назвать вещи надо так, как они называются?
Пока, что все согласны с тем как всё называется
https://www.bitiniyan.com/2019/02/02/how-to-write-unit-tes...
И ковыряйтесь в носу, сколько душе угодно. И мы будем в своем тоже ковыряться. Главное, чтобы не увидели как мы это делаем вместе
Значит если базу мОкаем - эту юнит тест, а если нет, то уже интеграционный - так?
Чтобы вас понимать было можно.
Проблем с пониманием пока не было, а вот если переименуем то точно появятся.
если имеемся в виду убрать var? Не думаю что это просто с точки зрения компилятора, да и большой бардак получается при этом.
Проблемы разработки компилятора меня не волнуют - я пользователь.
Какой бардак? Вам трёх попыток хватит, чтобы угадать, какой тип у myVariable?
myVariable = new MyType();
или
MyType myVariable = new();
Заметьте, что сейчас второй вариант полностью валидный. Но это зеркально первому. А первый - не валидный.
Кто даст 100% гарантию того, что после конвертации всё будет работать как и раньше?
Как минимум, нужно проводить дополнительное тестирование. А на это времени просто нет.
Если у вас не проект-однодневка, то вам в любом случае когда-то придётся всё конвертировать, переходить, тестировать. И лучше делать это, когда нового накопилось не так много, чем через 10-15 лет.
Пока, что все согласны с тем как всё называется
Да пожалста. Хоть горшком называйте. Только не удивляйся что за пределами команды тебя понимать не будут.
Значит если базу мОкаем - эту юнит тест, а если нет, то уже интеграционный - так?
Где-то так, да.
На всякий случай (а то тут такие вопросы всплвали, а где конкретно про БД написано...): это не значит что если мы заменили доступ к базе моком, а к (например) LDAP оставили как есть, то такой тест можно называть юнит-тестом. (а чо, "если базу мОкаем - юнит тест", а про LDAP не написано нигде!)
Проблемы разработки компилятора меня не волнуют - я пользователь.
Хочу бусик, чтобы за секунды доставлял меня до моря.
Проблемы разработчиков авто меня не волнуют - я пользователь.
чтобы угадать, какой тип у myVariable
Мне не нужно гадать, я хочу увидеть и знать
Если у вас не проект-однодневка, то вам в любом случае когда-то придётся всё конвертировать, переходить, тестировать.
Как раз наоборот. Если проекту много лет, то его ни в коем случае нельзя трогать. Любые изменения только в крайнем случае.
Если есть бюджет, то лучше начать с нуля.
Только не удивляйся что за пределами команды тебя понимать не будут.
Скорее наоборот. Мне нужно некое определение и так как Вы его интерпретируете я пока не нахожу Скорее - A more important distinction is whether the unit you're testing should be sociable or solitary
Фаулер остался в 90-х. Ну, в начале 2000-х. Почему-то. Когда то, что он называет "sociable" было единственным способом. Изолировать тестируемый "юнит" было можно. Но на это уходило немало времени. А с фреймворками для моков ему было уже лень разбираться. Да и не работал он уже. За прошедшие с тех пор почти 30 лет, люди поняли что чем изолированней, тем для юнит тестов лучше (а вообще и для всех, кроме end-to-end или nfr-тестов вроде нагрузочных). Увидели что легко изолируемый код ещё и легче расширять, чем неизолируемый. Придумали FIRST. А определение... В индустрии программирования с этим вообще-то большие проблемы. Ни IETF RFC, ни ISO нормы для юнит-тестов нет. ISTQB ими не заморачивается, это дело программистов. Так что только мнения и опыт.