@proGO

Страница 1385 из 1674
Roman
20.04.2018
14:03:03
кстати насчёт go test... https://blog.karenuorteva.fi/go-unit-test-setup-and-teardown-db1601a796f2 разве нет возможности задекларировать beforeEach и afterEach нежели самому ручками в каждом кейсе вызывать?

везде вижу только TestSomething(t *testing.T) { setup() defer teardown() //test }

FRD Official - Dmitriy
20.04.2018
14:26:07
что это такое вообще
Это то без чего твой код превращается в тыкву ?. А вообще внешние зависимости зло - проверенно собственной тощей жопой

Google
Roman
20.04.2018
14:26:57
Можно, но зачем?
integration testing

после каждого теста нужно сбросить сессию соединения

не, можно конечно в каждом тесте новый клиент открывать, но это не айс

FRD Official - Dmitriy
20.04.2018
14:28:15
integration testing
Ну тут, вопрос спорный, чем гибче язык - тем больше нужно контроля и в то же время, больше пространства для маневров.

Roman
20.04.2018
14:29:09
у меня сейчас на кастомном ранере, не на go test работают тесты, но я хочу таки перейти снова на стадартный tool chain

FRD Official - Dmitriy
20.04.2018
14:30:24
Тут как бы могу судить только по своему опыту (мобилки/рельсы), но чем проще заявляется тестирование, тем сложнее становятся тесты с усложнением проекта.

Roman
20.04.2018
14:31:20
в каком смысле "заявляются"

integration test'ы нам нужны чтоб проверять API

хотя наверное правильнее будет называть их "acceptance test"ами

FRD Official - Dmitriy
20.04.2018
14:36:12
в каком смысле "заявляются"
В смысле: "Пацаны, мы разработали фрэймворк для тестирования контроллеров , написать тест - как два пальца об асфальт и не надо трахать мозг и ломать пальцы", в жизни это выглядит так. Легко накидать тест на очень примитивный кейс, но стоит задуматься о error-рейтах, сообщениях от шедулера а-ля "сейчас допрыгаешься", и все превращается в адскую головоломку.

хотя наверное правильнее будет называть их "acceptance test"ами
Нет, неправильно. acctptance test - результат соответствующий user story.

Извини что наполовину на аглицком, но при переводе могут возникнуть непонятки

Google
Evgenia
20.04.2018
14:38:24
120-150 нет

Roman
20.04.2018
14:39:12
excuse me?

FRD Official - Dmitriy
20.04.2018
14:40:25
Кстати, а кто нибудь пытался составить словарь англо-русский, касающийся таких терминов? Не я не про "ногомяч" и "бассейн", а реально привести соответствующие синонимы, чтобы не изъясняться, как малограмотные "менеджеры-по-продажам".

Roman
20.04.2018
14:40:48
Roman
20.04.2018
14:44:49
Ааааа, Семён Сёменыч. Так тест - это тоже программа на Go, как хочешь так и крути. Приведи конкретный кейс.
я ж говорю, у нас сейчас кастомный test runner, который берёт структуру и выполняет все экспортируемые её функции как кейсы, есть специальные зарезервированные названия такие как BeforeAll, AfterAll, BeforeEach и AfterEach

но я размышляю как реализовать тоже самое на go test

FRD Official - Dmitriy
20.04.2018
14:53:00
Извини, но без кода, я что-то не въезжаю, в чем проблема.

Roman
20.04.2018
14:54:12
Извини, но без кода, я что-то не въезжаю, в чем проблема.
выполнять функцию перед каждым и после каждого TestSomething в go test, не могу понять как

можно конечно самому ручками в каждом Test вызывать, но это не айс

FRD Official - Dmitriy
20.04.2018
14:57:59
В тестах можно объявлять и глобалы и init. И собственно, обвязать как угодно. Давай, чтобы твою епархию не палить, обвяжем тестами какую нибудь гипотетическую фигню. Ну так чтобы продуктивней, а то что-то трясем воздух, трясем, а до точки что-то недотрясываемся.

FRD Official - Dmitriy
20.04.2018
15:01:50
дак придётся ручками вызывать
Да, прийдется. А еще потом можно ручками отбенчить, выявить "бутылочное горлышко", найти того кто его написал, и попросить его быть поаккуратней. Иначе зачем выбирать Go?

FRD Official - Dmitriy
20.04.2018
15:08:28
а чем тогда наш test runner хуже go test?
Гибгостью наверное. Но посмею предположить, что в Go вы пришли не из C/C++, а из более высокоуровневых языков. Нет, это никак вас не умаляет, просто надо немного сменить привычки. Писал когда ты запостил скриншот. Разреши "доебаццо" :). Какой из этих тестов показал степень устойчивости? А на фаззинг? А на предполагаемые трики?

Marlik
20.04.2018
15:10:18
я FullStack, в чём я уже только не работал, PHP, C++, JavaScript, теперь Go
Фулстэк подразумевает фронтенд+бэкенд))

Google
FRD Official - Dmitriy
20.04.2018
15:10:25
Почти то-же самое,

Roman
20.04.2018
15:10:27
Фулстэк подразумевает фронтенд+бэкенд))
yep, I know, фронт на JavaScript/C++ и на Go/C++/PHP/JS на бэке

Makkusu
20.04.2018
15:11:50
Добрейший вечерочек! Помогите пожалуйста. Нужно ли создавать демона, чтобы запускать go исполняемый файл в фоне? Или можно просто запустить исполняемый файл и ждать пока выполнится? Если создать демона то как? Мне нужно запустить программу на сервере, чтобы она отработала в фоне с логами.

Makkusu
20.04.2018
15:13:16
Зачем тебе демон?
Мне сказали, чтобы выполнить процесс/программу в фоне нужно сделать демона

Я хочу запустить скрипт и отключиться от сервера

от ssh

Makkusu
20.04.2018
15:14:56
Я так делаю func main() { for { //тут код } } Далее это безобразие запускается через системд.
У меня есть скрипт который что то делает. Он после конечно сам выполнится и завершится. Просто мне надо его один раз запустить и спокойно скормить серверу на обработку и заняться другими делами отключившись от сервака

Makkusu
20.04.2018
15:15:09
мона так nohup ./app &
Попробую Мне чот такое советовали

А что с логированием? Как ту можно реализовать?

Через сторонние библиотеки или запись в файл?

FRD Official - Dmitriy
20.04.2018
15:15:36
Мне сказали, чтобы выполнить процесс/программу в фоне нужно сделать демона
На заборе тоже много чего пишут..., а там дрова. В каком фоне? Что фактически нужно сделать?

Makkusu
20.04.2018
15:16:17
На заборе тоже много чего пишут..., а там дрова. В каком фоне? Что фактически нужно сделать?
Подсоединиться к ssh. Запустить скрипт. Отсоединиться. Иногда буду подключаться и проверять все логи в файле.

Marlik
20.04.2018
15:16:25
Makkusu
20.04.2018
15:16:49
Лехко. Читайте в гугле есть.
так вот думаю библиотеки или можно сделать простой вывод в лог-файл. Как лучше?

Google
Sergey
20.04.2018
15:19:33
нохап будет стдаут и стдерр в файл писать

Makkusu
20.04.2018
15:19:52
https://golang.org/pkg/log/
Инициализировать файл и после передать поток байтов в New?

FRD Official - Dmitriy
20.04.2018
15:20:16
единственное что приходит в голову что скорее всего с кастомным ранером не будет работать это coverage profile
Как-то ты косто мыслишь. Если хоть один метод из тестов не отработал, значит у тебя нет никакого coverage-profile - задача не реализована. Есть возможность дослоцировать обломанный тест и найти человека ответственного за этот код, в чем проблема? Не это не риторический вопрос, я просто пытаюсь понять какую модель тестирования вы у себя замутили

Makkusu
20.04.2018
15:20:24
нохап будет стдаут и стдерр в файл писать
Тогда проблем нет. Всем спасибо!

Admin
ERROR: S client not available

FRD Official - Dmitriy
20.04.2018
15:38:10
как это связанно с coverage'ом? если все тесты выполнились то нам интересно знать, какой код не проверен
Если функция объявлена и не покрыта тестами - то coverage её покажет, если тесты написаны паршиво - ну тут вам никто не поможет

Andrii
20.04.2018
15:42:28
Кто имеет пример кода с функциями для базы данных postgresql , удалять элементы, добавлять, зчитувать и тп и как подключатса к ней не локально?

FRD Official - Dmitriy
20.04.2018
15:42:38
acceptance API testing
И если честно, меня вот этот "аккцептанс", жутко коробит - были ситуации, когда по тестам все радужно, вокруг единороги срут радугой, а потом Дима заморачивается с фаззингом и кладет продакшн сервер. Надеюсь у вас не так

FRD Official - Dmitriy
20.04.2018
15:43:28
тестируется не robustness, а правильность API
Так, в чем проблема? Создаешь в тесте клиента, и последовательно дергаешь API, вот реально в чем проблема?

Andrii
20.04.2018
15:45:17
Да но там примеры для каждой функции отдельно, а мне интиресно как ето совместить через пакеты или просто прописивать в одном пакете все функции

Roman
20.04.2018
15:46:13
Так, в чем проблема? Создаешь в тесте клиента, и последовательно дергаешь API, вот реально в чем проблема?
нет проблемы))))) я лишь пытался выяснить как выполнять функции до и после теста в go test не ручками, что видимо невозможно

Artem
20.04.2018
15:49:15
Roman
20.04.2018
15:49:56
сделай милдварь для теста, перед выполнением делай setup, после - teardown
слишком абстрактно, можешь пояснить как ты это себе в коде представляешь?

хотя, нужно начать с другого вопроса: что даёт go test чего не даст кастомный ранер?

Google
FRD Official - Dmitriy
20.04.2018
15:51:04
нет проблемы))))) я лишь пытался выяснить как выполнять функции до и после теста в go test не ручками, что видимо невозможно
Что значит невозможно? <Something_test> - это обычная программа на Go. Равносильно как бы написать клиента к своему же серверу, просто она вызывается на go test. И все, никаких DSL и хитрожопых регекспов, пишешь клиента к своему же API и тестируешься. Не надо ничего усложнять.

FRD Official - Dmitriy
20.04.2018
15:52:30
хотя, нужно начать с другого вопроса: что даёт go test чего не даст кастомный ранер?
Рома, постарайся абстрагироваться, то что написано в бэке - это сервер сайд. Тесты - клиент-сайд. Всё.

FRD Official - Dmitriy
20.04.2018
15:53:10
Roman
20.04.2018
15:54:33
https://goplay.space/#Xez6WkvUeLE
хмм, выглядит интересно, но как этим конкретно пользоваться пока не понятно

Roman
20.04.2018
15:55:56
хотя, нужно начать с другого вопроса: что даёт go test чего не даст кастомный ранер?
Извините, но это похоже на NIH Syndrome. Вопрос надо ставить наоборот

Roman
20.04.2018
16:04:14
Извините, но это похоже на NIH Syndrome. Вопрос надо ставить наоборот
наоборот он уже был поставлен из чего и родилась идея написать кастомный ранер нам было интересно наблюдать колво assertion'ов и декларативно писать func AfterEach() без сложностей поэтому теперь вопрос задаётся именно так: что go test даёт что не даёт наш ранер

Roman
20.04.2018
16:06:25
Если вам BDD более близок, то я думаю нет смысла спорить. Вопросы предпочтения конкретной команды/человека

ginkgo правда уже есть

FRD Official - Dmitriy
20.04.2018
16:07:41
Sergey
20.04.2018
16:08:04
хотя, нужно начать с другого вопроса: что даёт go test чего не даст кастомный ранер?
То что для запуска тестов не надо ничего кроме го, в случае с кастомным ранненром ещё одна зависимость

Artem
20.04.2018
16:09:22
если раннер - надстройка над go test, то пофигу, иначе -- все фичи точатся под ванильный go test и кастомный раннер будет превращатся в легаси

Страница 1385 из 1674