Size: a a a

2019 January 09

ИИ

Ильнур Ибатуллин in Node.js SPb
в итоге, юнитами можно покрыть от силы пару-тройку функций во всем проекте
и то, всякие функции типо конвертации данных, форматирования данных.
источник

ИИ

Ильнур Ибатуллин in Node.js SPb
всё остальное лезет в бд
интеграционное, как я понимаю, как раз работает в связке с бд, и уже тестим вызов функции + проверка что в базе данные легли как надо,(или заранее кладем в базу нужные данные и смотрим как приложение их достает)
источник

A_

Alexander _P in Node.js SPb
У меня такая же проблема в фронтенде, чистых функций мало, не чего покрывать.
источник

АШ

Алексей Шашенков in Node.js SPb
Ильнур Ибатуллин
всё остальное лезет в бд
интеграционное, как я понимаю, как раз работает в связке с бд, и уже тестим вызов функции + проверка что в базе данные легли как надо,(или заранее кладем в базу нужные данные и смотрим как приложение их достает)
Да, особенно когда в БД еще связи плотные или разные доступы к данным
источник

ИИ

Ильнур Ибатуллин in Node.js SPb
плюс я ещё люблю тестить с chai-http, когда делаю запросы, имитирую фронтенд. почти ничем не отличается от интеграционных, потому что контроллеры в основном тонкие, вызов одной функции
но это уже называется e2e
источник

ИИ

Ильнур Ибатуллин in Node.js SPb
в итоге, я прихожу к тому, что почти всё покрываю e2e и не понимаю как можно хоть сколько-то юнитов написать, и стоит ли вообще, если по скорости не вижу сильно просадки
источник

A_

Alexander _P in Node.js SPb
Ильнур Ибатуллин
в итоге, я прихожу к тому, что почти всё покрываю e2e и не понимаю как можно хоть сколько-то юнитов написать, и стоит ли вообще, если по скорости не вижу сильно просадки
e2e и интеграц не удобно паралелить, плюс они медленнее, сложнее найти причину поломки.
источник

A_

Alexander _P in Node.js SPb
Реально вынести какие-то манипуляции преобразующие данные в отдельный метод?

Чтобы была чистаю функция и ее покрыть.
источник

SV

Slava Viktorov in Node.js SPb
А кто нибудь может подсказать апп для лог менежмента? Куда можно загрузить гиговые лог файлы) и как нибудь их грепать удобно
источник

AM

Andrey Melikhov in Node.js SPb
в эластик и потом кибаной
источник

AM

Andrey Melikhov in Node.js SPb
источник

SV

Slava Viktorov in Node.js SPb
Это понятно. Может есть более простой путь
источник

AM

Andrey Melikhov in Node.js SPb
грепать удобно гиговые логи? хм =)
источник

SV

Slava Viktorov in Node.js SPb
ага
источник

ИИ

Ильнур Ибатуллин in Node.js SPb
В монго можно лить, с индексом по времени, чтоб потом сам монго удалял старые логи
источник
2019 January 10

AB

Artyom Berdnikov in Node.js SPb
Slava Viktorov
Это понятно. Может есть более простой путь
https://www.graylog.org/products/open-source  ещё один вариант посмотреть грейлог
источник

Ks

KIGM saymon.tech sip3.io in Node.js SPb
ага, знаю
источник
2019 January 15

V☆

Vitaliy ☆glukki☆ Meshchaninov in Node.js SPb
Ну, кто тут ещё помнит cgi-bin? :)
https://twitter.com/yogthos/status/1083226362993872897
источник

Ks

KIGM saymon.tech sip3.io in Node.js SPb
5-)
источник
2019 January 16

AV

Alexey Vykhrystyuk in Node.js SPb
Ильнур Ибатуллин
в итоге, я прихожу к тому, что почти всё покрываю e2e и не понимаю как можно хоть сколько-то юнитов написать, и стоит ли вообще, если по скорости не вижу сильно просадки
Думаю, что разницу по скорости/ресурсам заметишь на более менее большой кодовой базе когда тестов будет > 500.

Имхо, чтобы юнит-тесты получалось легче и удобней писать, нужно код приложения писать особым образом. Бить логику на компоненты (logger, persistence-store, api-client) и стараться сделать их слабо-связными по отношению к друг другу (читать в сторону IoC). В результате перед каждым юнит-тестом можно подменить (замокать) реализацию того или иного сервиса:
- подменить Db на in-memory-store,
- не ходить по сети используя in-memory-api-client
- писать in-memory логи
источник