170 похожих чатов

А в чем опасения?

19 ответов

29 просмотров

это не подходит? https://t.me/gogolang/841583

Alex- Автор вопроса
Максим Федоров
это не подходит? https://t.me/gogolang/841583

да это я и сам навелосипедить могу, зачем мне лишняя зависимость на пустом месте?)

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

ну, у monkey есть подпись: Monkey sometimes fails to patch a function if inlining is enabled. Try running your tests with inlining disabled, for example: go test -gcflags=-l. The same command line argument can also be used for build. Monkey won't work on some security-oriented operating system that don't allow memory pages to be both write and execute at the same time. With the current approach there's not really a reliable fix for this. Monkey is not threadsafe. Or any kind of safe. так что на свой страх и риск, конечно, можно. Но правильно было бы использовать mock/stub

Илья О
ну, у monkey есть подпись: Monkey sometimes fails...

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

Alex- Автор вопроса
Максим Федоров
если есть возможность развернуть код, то лучше бы ...

я это время никак не пропихну в хук AfterFind горма)

Alex- Автор вопроса

подробнее, я может что-то не знаю https://gorm.io/docs/hooks.html#Querying-an-object

func (u *User) AfterFind(tx *gorm.DB) (err error) { if u.MemberShip == "" { u.MemberShip = "user" } return } —> func (u *User) AfterFind(tx *gorm.DB) (err error) { // call code!, например из DI контейнера (еще плюс к нему) // или переменная из какого-то пакета // или какой угодно код откуда угоднО! }

Alex
подробнее, я может что-то не знаю https://gorm.io/...

я не очень понимаю, какой именно слой вы тестируете, и зачем вам gorm.AfterFind 🙂

Илья О
я не очень понимаю, какой именно слой вы тестирует...

в AfterFind в теле хука написал time.Now() и не знает как быть :):):):) мне бы такие проблемы 🙂

Alex- Автор вопроса
Максим Федоров
func (u *User) AfterFind(tx *gorm.DB) (err error) ...

я ничо не понял, что вы предлагаете

Alex
я ничо не понял, что вы предлагаете

в AfterFind вы написали time.Now() так? дял обнволения поля?

Alex- Автор вопроса
Максим Федоров
в AfterFind в теле хука написал time.Now() и не з...

именно так, только теперь у меня Now из глобальной переменной, которая подменяется в тестах ваши предложения нипанимаю!!111

Alex
именно так, только теперь у меня Now из глобальной...

вы может вынести код куда угодно и как угодно им манипулировать, го же

Alex- Автор вопроса
Alex- Автор вопроса
Илья О
я не очень понимаю, какой именно слой вы тестирует...

я там чуть выше написал, что у меня есть в модели вычисляемое поле, которое заполняется хуком AfterFind горма вычисляется оно на основе time.Now и вот теперь в интеграционных тестах мне надо подменить этот самый time.Now на заранее заданную дату, чтобы проверить логику этого вычисляемого поля, корректно ли оно заполняется или нет вот и спросил бестпрактикес на это)

Alex
я там чуть выше написал, что у меня есть в модели ...

Бестпрактис будет, как вы написали выше, timGetter.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта