Deutsch

Непонятки с EF

2225  1 2 3 4 все
alex445 коренной житель27.12.23 12:35
NEW 27.12.23 12:35 
в ответ AlexNek 27.12.23 12:11
А вот не старпёр уже вовсю пользует primary constructor или всё же нет?

Я пока нет. Но если встретится подходящее место, где он будет удобен - буду.

#41 
AlexNek патриот27.12.23 12:36
AlexNek
NEW 27.12.23 12:36 
в ответ MrSanders 27.12.23 12:03
Прилепил базу - прекращай называть тест "юнит-тестом"

Как будет подобное соглашение в команде, можно и переназвать. Но пока не вижу особого смысла в смене названия.


Про конкретный метод

Все методы в классе практически одинаковые _dbContext.xxxx;


Что сложного-то?

То что уже есть группа интеграционных тестов и эта группа придерживается другой классификации.

#42 
AlexNek патриот27.12.23 12:43
AlexNek
NEW 27.12.23 12:43 
в ответ alex445 27.12.23 12:27
Если с правой стороны объявлен тип, то с левой писать его ещё раз не имеет смысла. Ну кроме случаев...

ну вот именно, что кроме случаев...

И в какой-то стороне обязательно нужно.


Но дать возможность не писать лишнее слово там, где это не нужно - нужно.

если имеемся в виду убрать var? Не думаю что это просто с точки зрения компилятора, да и большой бардак получается при этом.

#43 
AlexNek патриот27.12.23 12:49
AlexNek
NEW 27.12.23 12:49 
в ответ alex445 27.12.23 12:33
Для этого есть необратимые конвертеры старого в новое.

Эти все рассуждения хороши пока нет тонн старого кода.

Кто даст 100% гарантию того, что после конвертации всё будет работать как и раньше?

Как минимум, нужно проводить дополнительное тестирование. А на это времени просто нет.

#44 
AlexNek патриот27.12.23 13:01
AlexNek
NEW 27.12.23 13:01 
в ответ alex445 27.12.23 12:35
Я пока нет.

ну вот именно, как будут подходящие условия...

Дело то не в том знаешь или нет, а в том есть ли условия для этого.

Вот если такого мужика весной или осенью увидишь, что можно сказать?


#45 
MrSanders коренной житель27.12.23 13:18
NEW 27.12.23 13:18 
в ответ AlexNek 27.12.23 12:36
Как будет подобное соглашение в команде, можно и переназвать. Но пока не вижу особого смысла в смене названия.

Дааа... "И эти люди запрещают мне ковырятся в носу" (с)

Может намекнуть команде, что назвать вещи надо так, как они называются? Ну, чисто по приколу. Чтобы вас понимать было можно.


P.S. А потом ходят такие "командные" и рассказывают о юнит-тестах, которые они не пишут, потому что они очень долго выполняются. А ты сидишь и гадаешь что же он имел в виду?

#46 
AlexNek патриот27.12.23 14:20
AlexNek
NEW 27.12.23 14:20 
в ответ MrSanders 27.12.23 13:18
Может намекнуть команде, что назвать вещи надо так, как они называются?

Пока, что все согласны с тем как всё называется смущ

https://www.bitiniyan.com/2019/02/02/how-to-write-unit-tes...


И ковыряйтесь в носу, сколько душе угодно. И мы будем в своем тоже ковыряться. Главное, чтобы не увидели как мы это делаем вместе спок


Значит если базу мОкаем - эту юнит тест, а если нет, то уже интеграционный - так?


Чтобы вас понимать было можно.

Проблем с пониманием пока не было, а вот если переименуем то точно появятся.

#47 
alex445 коренной житель27.12.23 14:43
NEW 27.12.23 14:43 
в ответ AlexNek 27.12.23 12:43, Последний раз изменено 27.12.23 14:44 (alex445)
если имеемся в виду убрать var? Не думаю что это просто с точки зрения компилятора, да и большой бардак получается при этом.

Проблемы разработки компилятора меня не волнуют - я пользователь.


Какой бардак? Вам трёх попыток хватит, чтобы угадать, какой тип у myVariable?


myVariable = new MyType();

или

MyType myVariable = new();


Заметьте, что сейчас второй вариант полностью валидный. Но это зеркально первому. А первый - не валидный.

#48 
alex445 коренной житель27.12.23 14:47
NEW 27.12.23 14:47 
в ответ AlexNek 27.12.23 12:49

Кто даст 100% гарантию того, что после конвертации всё будет работать как и раньше?

Как минимум, нужно проводить дополнительное тестирование. А на это времени просто нет.

Если у вас не проект-однодневка, то вам в любом случае когда-то придётся всё конвертировать, переходить, тестировать. И лучше делать это, когда нового накопилось не так много, чем через 10-15 лет.

#49 
alex445 коренной житель27.12.23 14:49
NEW 27.12.23 14:49 
в ответ AlexNek 27.12.23 13:01, Последний раз изменено 27.12.23 14:50 (alex445)
Вот если такого мужика весной или осенью увидишь, что можно сказать?

"Мистер Сандерс, не узнаю вас в гриме!"

))

#50 
MrSanders коренной житель27.12.23 14:53
NEW 27.12.23 14:53 
в ответ AlexNek 27.12.23 14:20, Последний раз изменено 27.12.23 14:55 (MrSanders)
Пока, что все согласны с тем как всё называется смущ

Да пожалста. Хоть горшком называйте. Только не удивляйся что за пределами команды тебя понимать не будут.

Значит если базу мОкаем - эту юнит тест, а если нет, то уже интеграционный - так?

Где-то так, да.

На всякий случай (а то тут такие вопросы всплвали, а где конкретно про БД написано...): это не значит что если мы заменили доступ к базе моком, а к (например) LDAP оставили как есть, то такой тест можно называть юнит-тестом. (а чо, "если базу мОкаем - юнит тест", а про LDAP не написано нигде!)

#51 
AlexNek патриот27.12.23 16:45
AlexNek
NEW 27.12.23 16:45 
в ответ alex445 27.12.23 14:43
Проблемы разработки компилятора меня не волнуют - я пользователь.

Хочу бусик, чтобы за секунды доставлял меня до моря.

Проблемы разработчиков авто меня не волнуют - я пользователь. спок


чтобы угадать, какой тип у myVariable

Мне не нужно гадать, я хочу увидеть и знать

#52 
AlexNek патриот27.12.23 16:51
AlexNek
NEW 27.12.23 16:51 
в ответ alex445 27.12.23 14:47
Если у вас не проект-однодневка, то вам в любом случае когда-то придётся всё конвертировать, переходить, тестировать.

Как раз наоборот. Если проекту много лет, то его ни в коем случае нельзя трогать. Любые изменения только в крайнем случае.

Если есть бюджет, то лучше начать с нуля.

#53 
AlexNek патриот27.12.23 16:55
AlexNek
NEW 27.12.23 16:55 
в ответ MrSanders 27.12.23 14:53
Только не удивляйся что за пределами команды тебя понимать не будут.

Скорее наоборот. Мне нужно некое определение и так как Вы его интерпретируете я пока не нахожу смущ Скорее - A more important distinction is whether the unit you're testing should be sociable or solitary

https://martinfowler.com/testing/


#54 
alex445 коренной житель27.12.23 20:53
NEW 27.12.23 20:53 
в ответ AlexNek 27.12.23 16:45

Хочу бусик, чтобы за секунды доставлял меня до моря.

Проблемы разработчиков авто меня не волнуют - я пользователь. спок

Нормальная инфраструктура зарядок, и запас хода не как у скутера-переростка. То, что сейчас - издевательство над покупателем.

#55 
alex445 коренной житель27.12.23 20:54
NEW 27.12.23 20:54 
в ответ AlexNek 27.12.23 16:45
чтобы угадать, какой тип у myVariable

Мне не нужно гадать, я хочу увидеть и знать

В том-то и дело, что по обеим моим записям увидел и всё понял.

#56 
alex445 коренной житель27.12.23 20:57
NEW 27.12.23 20:57 
в ответ AlexNek 27.12.23 12:01

у каждой команды свои соглашения и хотя не все с ними согласны, нужно делать как договорились.

Ну вот я и делаю, хотя и не согласен.

#57 
MrSanders коренной житель27.12.23 21:14
NEW 27.12.23 21:14 
в ответ AlexNek 27.12.23 16:55

Фаулер остался в 90-х. Ну, в начале 2000-х. Почему-то. Когда то, что он называет "sociable" было единственным способом. Изолировать тестируемый "юнит" было можно. Но на это уходило немало времени. А с фреймворками для моков ему было уже лень разбираться. Да и не работал он уже. За прошедшие с тех пор почти 30 лет, люди поняли что чем изолированней, тем для юнит тестов лучше (а вообще и для всех, кроме end-to-end или nfr-тестов вроде нагрузочных). Увидели что легко изолируемый код ещё и легче расширять, чем неизолируемый. Придумали FIRST. А определение... В индустрии программирования с этим вообще-то большие проблемы. Ни IETF RFC, ни ISO нормы для юнит-тестов нет. ISTQB ими не заморачивается, это дело программистов. Так что только мнения и опыт.


#58 
AlexNek патриот27.12.23 22:15
AlexNek
NEW 27.12.23 22:15 
в ответ alex445 27.12.23 20:53
Нормальная инфраструктура зарядок

Вообще-то было совсем про другое, а пример чтобы было просто более понятно.


То, что сейчас - издевательство над покупателем.

А это как тогда назвать?


#59 
AlexNek патриот27.12.23 22:18
AlexNek
NEW 27.12.23 22:18 
в ответ alex445 27.12.23 20:54
что по обеим моим записям увидел и всё понял.

А хотя бы так? Тоже всё понятно?

myVariable = new MyType();

...

myVariable = new MyType2();

...

myVariable = new MyType2() + new MyType2();



#60 
1 2 3 4 все