Size: a a a

2020 April 27

IS

Ilya Sinelnikov in Go-go!
сейчас же есть analysis
источник

МП

Мимо Проходящий... in Go-go!
Aleksandr Razumov
можно обмазываться интеграционными тестами
но вообще согласен
Там сейчас и юнит тесты есть, но всё равно такое себе
источник

AK

Anton Kucherov in Go-go!
Ilya Sinelnikov
через vet tool можно наверное
Там надо по сути заменить вызовы одних функций на вызовы других функций (с разными аргументами и названиями), а так же заменить TestSuite из gocheck на аналогичную концепцию из`testify`. Но опять таки они имеют разную нотацию. А самая большая проблема в том, что gocheck прячет оригинальный объект testing.T (так что его даже в не экспортируемом поле нет) и вообще реализует запуск тестовых наборов по своему. Т.е. даже форкнуть и немного поменять код, чтобы он стал совместим со стандартной библиотекой, пока что не выглядит как вариант.
источник

DZ

Dmitry Zherebko in Go-go!
Anton Kucherov
Ну это мне надо было попасть в компанию лет 5 назад (или раньше) и сказать им об этом... Это самое очевидное решение. А теперь я ищу решение, как же это автоматически отрефакторить, чтобы и не сломать и при этом заменить все на тот же testify. Это скорее всего можно сделать используя  AST и написав кастомную утилиту которая пройдется по коду и заменит одни куски кода другими (по хитрым правилам), но я в этом абсолютный профан, поэтому пока что все печально.
а зачем заменять на тестифай?
источник

AK

Anton Kucherov in Go-go!
Dmitry Zherebko
а зачем заменять на тестифай?
Не можем построить отчеты о том сколько тестов есть, сколько из них проходят, сколько валятся (и почему). Оно вывод отдает в своем формате и существующие утилиты совместимые со стандартным go test этот формат не парсят правильно. Т.е. мы все результаты можем только в консоли в виде текста лицезреть, что как бы "такое себе". Особенно когда тестов тысячи.
источник

RC

Roman Covanyan in Go-go!
Ilya Kaznacheev
Господа, как вы называете интерфейсы, которые разделяют уровни приложения?

Например, интерфейс, который отделяет работу с БД
По стилю го, он должен называться как какой-то doer, но я не могу ниче придумать
storer :)
источник

IK

Ilya Kaznacheev in Go-go!
Storekeeper тогда уж
источник

IK

Ilya Kaznacheev in Go-go!
Но в целом неплохо
источник

RC

Roman Covanyan in Go-go!
Ilya Kaznacheev
Storekeeper тогда уж
клавиатуру протрешь :)
источник

AK

Anton Kucherov in Go-go!
Ilya Kaznacheev
Господа, как вы называете интерфейсы, которые разделяют уровни приложения?

Например, интерфейс, который отделяет работу с БД
По стилю го, он должен называться как какой-то doer, но я не могу ниче придумать
Storage.  -er - в английском на сколько мне известно используется чтобы из глагола образовать существительное. Так что не надо тут ничего выдумывать. 🙂 Это одно из правил Effective Go которое нельзя просто буквально использовать. 🙂
источник

IK

Ilya Kaznacheev in Go-go!
Местами уже протер
источник

C

Constantine in Go-go!
Ilya Kaznacheev
Местами уже протер
странная у тебя клавиатура
источник

SN

Stanislav N. in Go-go!
Ilya Kaznacheev
Господа, как вы называете интерфейсы, которые разделяют уровни приложения?

Например, интерфейс, который отделяет работу с БД
По стилю го, он должен называться как какой-то doer, но я не могу ниче придумать
Databaser :)
источник

C

Constantine in Go-go!
Stanislav N.
Databaser :)
Dtbser
источник

IK

Ilya Kaznacheev in Go-go!
Stanislav N.
Databaser :)
Воо, пошла мякотка
источник

SN

Stanislav N. in Go-go!
Dabaser, тоже норм)
источник

C

Constantine in Go-go!
Stanislav N.
Dabaser, тоже норм)
это вообще идеально
источник

IK

Ilya Kaznacheev in Go-go!
Constantine
странная у тебя клавиатура
источник

AK

Anton Kucherov in Go-go!
Я кстати видел в какой то библиотеке на Go интерфейс Doer. Который даже меня, с моим кривым английским ввел в ступор, потому что Doer - это человек, который активно делает вещи вместо того, чтобы просто думать или говорить о них. Вот и думай после этого, за это этот интерфейс отвечает...
источник

IK

Ilya Kaznacheev in Go-go!
Anton Kucherov
Я кстати видел в какой то библиотеке на Go интерфейс Doer. Который даже меня, с моим кривым английским ввел в ступор, потому что Doer - это человек, который активно делает вещи вместо того, чтобы просто думать или говорить о них. Вот и думай после этого, за это этот интерфейс отвечает...
Это от бессилия
источник