Илья
все равно может оставаться acceptance прогон, со всем боевым, правда
Илья
посмотри в сторону TestMain - его go test выполнит до выполнения теста
freezlite
я уже смирился с мыслью что я быдлокодер
freezlite
спасибо, почитаю на обеде
freezlite
куда я собственно и собираюсь
Denis
друзья, а почему все так не любят iris? какие проблемы с ним у кого возникали?
Илья
не любят изза скандала с парнем, который его пилит
Pawel
Alexandr
Добрый день, подскажите по написанию unit тестов. у меня функция принимает структуру, в которой полем является uint64, как мне записать его в test case table?
Daniel
а?!
Alexandr
есть такая структура
type Request struct {
ActiveId []uint64 json:"active_id"
UserId *uint64 json:"user_id,omitempty"
Period string json:"period"
}
есть такой тест
func TestHandlerExchangeVolume(t *testing.T) {
type args struct {
request *Request
}
tests := []struct {
name string
args args
want *spec.FrameMessage
}{
{
name: "Test",
args: args{
request: &Request{
ActiveId: []uint64(12) ,
UserId: nil,
Period: "last_15_min",
},
},
want: &spec.FrameMessage{
BodyData: nil,
},
},
// TODO: Add test cases.
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := HandlerExchangeVolume(tt.args.request); !reflect.DeepEqual(got, tt.want) {
t.Errorf("HandlerExchangeVolume() = %v, want %v", got, tt.want)
}
})
}
}
Alexandr
входящий параметр эта структура, я незнаю как описать test case
Илья
У вас проблема с инициализацией *uint64? Это я так гадаю, тк ничего непонятно
Alexandr
Илья
[]uint64{1}
Daniel
и new(uint64)
Alexandr
и new(uint64)
но тут же я просто создаю указатель, а не присваиваю значение
Илья
Хм, нельзя сделать указатель на константы, насколько я помню, in place проинициализировать указатель на uint не получится
Mikhail
можно ли как то получить размер файла по url без загрузки?
Artem
HEAD спросить?
Artem
это конечо при условии что на той стороне адекватный сервер и он ответит на HEAD запрос
Mikhail
Mikhail
Daniel
Daniel
и использовать вместо new()
Илья
я бы или заранее создал переменную, или сделал бы в testcase hasVal bool val uint64 и перед вызовом заполнял, но ваш способ компактнее
Daniel
на самом деле, можно еще компактнее
func(p uint64) *uint64 { return &p }(25)
Илья
1 раз создать функции, имхо, компактнее 🙂 и вызывать newUint64()
Илья
но так витиевато задать вопрос, еще надо уметь
MOS2502
Подскажите, как в текстовом файле считать, например 5 символов из определенной строки и с определенного места в строке или надо читать весь файл?
Anonymous
MOS2502
Anonymous
Daniel
это, насколько я помню, не символы, а байты
MOS2502
понял, спасибо, да байты, но они потом в строку переводятся
Artem
MOS2502
Daniel
в пяти байтах может оказаться только половина последнего unicode символа
Anonymous
Andrey
треть иероглифа
MOS2502
нет у меня все просто там обычные цифры. Кстати, возможно я не правильно мыслю, допустим мне надо записать в файл значение A и значение B, они могут быть записаны одновременно или в разное время. Под разное время имеется ввиду, что программа будет закрыта, ПК выключен и т.д. Как я представляю процесс записи значения B, программа проверяет наличие файла, если файл на месте ищет определенную строку и читает из нее значение, потом в файл записывается как значение А, так и значение В, поверх считанной информации. Или есть какие то иные пути?
Daniel
нету
freezlite
кто то пользовался gorm?
Daniel
ну?
freezlite
pq: Could not complete operation in a failed transaction
freezlite
и все
freezlite
слишком мало текста ошибки
freezlite
db.Create(someshit).Error
freezlite
почему так?
Andrei 🦉
не проверили где то ошибку
Andrei 🦉
и пытаетесь в пофейленой транзакции что то сделать
freezlite
так там не должно быть транзакции
freezlite
по идее
freezlite
я через DB, а не Tx делаю
Илья
вот поэтому я не советую использовать orm 🙂
freezlite
Иисус, не начинай
Artem
freezlite
суть вопроса где текст ошибки
freezlite
это ж не весь текст
Artem
ошибка произошла до этого Create
Artem
и транзакция до сих пор не закрыта
Илья
хм
Илья
https://github.com/jinzhu/gorm/issues/1545
freezlite
это нормально что я cd в postgresql pg_log сделать не могу
freezlite
без рута
freezlite
и докера у меня нет
Daniel
нормально
.
Какой самый оптимальный способ проверить ключи двух мап на соответствие?
Илья
оптимальный по количеству кода -reflect.DeepEqual, по производительности - проверить длину, пробежаться по ключам
🄽🄸🄺🄸🅃🄰
товарищи, кто хорошо в регулярках понимает? помогите регексп для строк лога сделать
🄽🄸🄺🄸🅃🄰
на примере одной хоть
🄽🄸🄺🄸🅃🄰
15/03/2018 17:00:00:024 http-7080-121 INFO - 342AB6B3061F7F6F07B3B8D9783B3188:/DynamicIVR : ## INFO ## actions.AsyncNodeAction: Async variables=CheckAppointmentsPhoneNumer_Id; action= wait; prompt=false; waitTimeout=500
Daniel
а что регексп должен делать?
🄽🄸🄺🄸🅃🄰
по сути из этой строки в структуру надо перегнать
Kirill
регулярка для этого?
🄽🄸🄺🄸🅃🄰
в голову как раз регексп пришел
🄽🄸🄺🄸🅃🄰
ну да, по сути регуляркой думал такие строки разбивать
Kirill
опасное дело, ничего не скажешь
🄽🄸🄺🄸🅃🄰