Konstantin
Попытка не пытка
Konstantin
Enum'ов вроде нет, как быть, если необходимо на вход функции передавать лишь несколько определенных вариантов?
Konstantin
Не нашел ответ, чорт
Мерль
Например так: https://play.golang.org/p/_T_QLd7Ycu
Мерль
^ Вотъ
Мерль
я чем в пятый раз пишу об этом за последнюю неделю :) вот так: https://github.com/Djarvur/parsewords/blob/master/parsewords.go#L26
Мерль
И вотъ
Konstantin
Хм, но разве в обоих случаях ничто не помешает просто объявить левую переменную этого типа и сломать тем самым поведение?
Konstantin
Так то через свой тип и делал, но именно из-за того, что это не мешает все поломать решил спросить.
Anonymous
В своём пакете ты можешь всё поломать, а если подключишь как библиотеку, то тип констант сделан неэкспортируемым типом и тут всё в порядке
Daniel
именно\
Daniel
но у себя все поломать существует более одного способа
Daniel
если совсем страшно - можно унести этот тип и константы в отдельный пакет
Konstantin
Хм, а вот про неэкспортируемый тип не подумал, это круто. Хотя с интерфейсами вроде все равно не прокатит.
Daniel
в каком смысле - не прокатит?
Konstantin
Если тип сделать неэспортируемым, то из другого пакета под него уже ничего и не сделать, будут только свои константы. А если интерфейс какой-то, то его подделать из другого пакета ведь можно просто объявив нужные функции.
Daniel
да
Konstantin
Вот я об этом и говорю) Но коль тип можно сделать неэкспортируемым, то это то что нужно)
Konstantin
По сути и выходит enum)
Anonymous
Anonymous
!kb
Konstantin
Хм, а можно как-то объявить что-то вроде константной структуры? Чтобы при работе из другого пакета можно было из нее дергать данные.
Daniel
нельзя
Daniel
то есть - все тот же фокус, неэеспортируемый тип
Anonymous
Только переменную неэкспортируемого типа
Konstantin
Понятно. Печально немного, а то засоряется мощно так неймспейс
Daniel
это правда, константы сложных типов и константные переменные не повредили бы
Kirill
Шо, опять?
Kirill
это правда, константы сложных типов и константные переменные не повредили бы
Пилятся самостоятельно на базе переменных при острой необходимости, но да, попроще хотелось бы
Илья
Всем привет. А есть что почитать про джоины в Gorm? Нашёл статью https://kaviraj.me/go-gorm-using-joins но примеры из неё не работают
Бекбосын
У кого есть советы или опыт по обрабатыванию wsdl файла SOAP запроса
Бекбосын
У кого есть советы или опыт по обрабатыванию wsdl файла SOAP запроса
Я воспользовался пакетом wsdl2go и вроде сгенерировал все, но как его дальше использовать не соображаю, месяц знаком с GOLANG, буду очень благодарен за весомые и полезные ответы)
Pavel
что такое мок?
Anatoly
заглушка
Pavel
ну я понимаю что это объект, который может использоваться ля тестов
Pavel
но как его сотворить то?
Pavel
ну например что такое mock-сервер
Evgenii
тестовый сервер
Pavel
всмысле тестовый сервер?
Pavel
я не понимаю
Evgenii
отдающий тестовые данные
Pavel
у меня есть в продакшене допустим http сервер
Pavel
как мне его «мокнуть»?
Pavel
я не понимаю как это должно работать
Pavel
что это значит
Evgenii
поднимаешь рядом такой же сервер, только он отдает тестовые данные
Evgenii
вообще это же не официальное название
Evgenii
можно поднять отдельный сервер и отдавать там данные не из базы а захардкоженные
Evgenii
можно натрваить его на тестовую базу
Pavel
казалось бы взял да поднял сервер еще один только для тестов
Pavel
но библиотеки то зачем
Anatoly
Все зависит от типа тестов
Evgenii
а что за либы?
Evgenii
может они не сервер мокают, а сервисы на клиенте
Anatoly
юниттесты не должны ничего такого хотеть
Pavel
ну вот мне 2 раза уже успели либу посоветовать
Pavel
httptest глянь
Pavel
тесты в httptest глянь
Aleksandr
ну вот мне 2 раза уже успели либу посоветовать
ты спросил как мокнуть - я ответил. что еще хотим?
Pavel
может они не сервер мокают, а сервисы на клиенте
а что значит мокнуть сервисы на клиенте?
Aleksandr
я спрашиваю что это значит?
"сэмулировать" поведение реального сервера, чтобы не подлнимать настоящий
Evgenii
тесты в httptest глянь
это либа для тестов, а не для мока сервера)
Aleksandr
заглушка
Aleksandr
это либа для тестов, а не для мока сервера)
мокают для тестов. все сложилось.
Evgenii
короче, вообще смысл любого мока в том что ты создаешь реализацию один в один моделирующую интерфейс реального объекта, но с тестовм поведением
Pavel
да смысл понятен то но как процесс то устроен
Pavel
сам
Pavel
да смотрел уже
Evgenii
да смысл понятен то но как процесс то устроен
никак, пишешь мок который выглядит так же как и реальный объект, только работае по другому и все
Evgenii
есть saveToDb который сохраняет данные в базу, пишешь точно такой же только он ничего не делает, вот и получился мок
Бекбосын
для начала вы сервер делаете или клиент?
я беру с сервера SOAP (xml format), и ответ должен весь предоставлять в формате json и все