Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Java |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 23 вперед Ctrl→ |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
Как бы вы стали тестировать класс, который использует БД? Мудрёным моком, или лучше поднять тестовый экземпляр БД какой-то локальный? Но не будет ли последнее уже интеграционным, а не юнит-тестированием? |
21 фев 20, 07:37 [22084305] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7736 |
XDiaBLo, Использовать бд. Какая разница где стоит, если обращение по ip? Тесты как угодно назови. |
21 фев 20, 10:05 [22084358] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Будет. А вместо мока можно и стаб подсунуть. |
||||
21 фев 20, 10:32 [22084374] Ответить | Цитировать Сообщить модератору |
Valentin Kolesnikov Member Откуда: Сообщений: 3331 |
В spring-boot можно тестировать. В Тревис можно поднимать базу. Пример приложения с тестами. https://github.com/javadev/pt-backend Хорошего вам дня! |
21 фев 20, 10:33 [22084376] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51166 |
Этот класс надо разделить на 2 части. Одна - это чисто Dao или какой нибудь CRUD объект. Вторая - это собственно БИЗНЕС-ЛОГИКА. Вот первую часть тестировать вообще не надо. А вторую тестируй с полным покрытием всех кейсов. Сообщение было отредактировано: 21 фев 20, 11:48 |
||||
21 фев 20, 11:48 [22084431] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
Так вроде и разделено. Просто как делать покрытие 80% кода, если энтити не тестируй, круды не тестируй, и т.д... В итоге и тестировать то ничего почти не нужно. |
||||||||
21 фев 20, 12:25 [22084466] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51166 |
Правильно. Что ты там в крудах собрался тестировать? |
||||||||
21 фев 20, 12:27 [22084469] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7736 |
Поиск кнопку в ветке нажимал хоть раз? |
||||
21 фев 20, 12:35 [22084479] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Очень просто: берёшь инструмент, что показывает Code Coverage конкретного класса, и пишешь тесты, пока не будет 80%. |
||||||||
21 фев 20, 12:35 [22084480] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
Задача простая, покрытие кода увеличить. В прошлой конторе вообще 100% покрытия требовали, и я делал. Даже для энтити, вообще для всего. Я чо, я и базу прикручу к тестам. Просто надо ли? |
||||||||
21 фев 20, 12:35 [22084481] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
О чём речь вообще? Где кнопка, в какой ветке? |
||||||||
21 фев 20, 12:36 [22084483] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
Ну и да, догма. Требуется именно не менее 80% |
21 фев 20, 12:36 [22084484] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
И в чем проблема? Берёшь и показываешь Code Coverage. |
||||
21 фев 20, 12:38 [22084486] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
Чтобы показать, нужно сперва покрыть. |
||||||||
21 фев 20, 12:40 [22084489] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
А для того, чтобы покрыть конкретный класс тестами, достаточно покрыть только его код. Очевидно же. |
||||||||
21 фев 20, 12:43 [22084494] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7736 |
Теперь понял? |
||||||||
21 фев 20, 12:44 [22084495] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
А для того чтобы получился бутерброд, достаточно намазать маслом хлеб. |
||||||||
21 фев 20, 12:57 [22084508] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Я не понимаю, в чем проблема. Если вы хотите покрыть класс тестами, то пишите модульные тесты. Если приложение, то выстраиваете пирамиду тестировпния: модульные, интеграционные, функциональные... |
||||||||
21 фев 20, 13:04 [22084515] Ответить | Цитировать Сообщить модератору |
XDiaBLo Member Откуда: Екатеринбург Сообщений: 71782 |
Вопрос был в первом же посте. И я уже получил ответ из другого источника. Мокать. Только мокать. Хоть это и КРУД, но однако же покрытие делать надо. |
||||||||
21 фев 20, 13:07 [22084523] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Если логика в базе, то пишутся модульные тесты на уровне базы. |
21 фев 20, 13:08 [22084524] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51166 |
Нет нет. Это категорически неверная задача. Попробуй донести до того архитектора что поддержка такого покрытия будет затратна настолько что перекроет ожидаемую пользу от покрытия. Покрытия и польза от него - это как логистическая кривая. Где - то на 60-70% она насыщается настолько что добивать последние 30% становится безсмысленным дро4есрством и прокачкой ненужных метрик. У меня к сожалению нет ссылок на пруфы. Это чисто моё мнение. Но может форумчане добавят. Да. Не слушай любителей SpringTest. Это карго-культ. Они - фетишисты и сектанты. И польза от их практик - сомнительна. |
||||||||
21 фев 20, 13:12 [22084526] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7736 |
Ну и все на этом. Это как обсуждать величину отступов - два пробела или 4. "Это политика" |
||||
21 фев 20, 13:20 [22084534] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51166 |
Топик посвященный политике. Мдя... |
21 фев 20, 13:52 [22084557] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51166 |
Вот один попсовый JБлоггер пишет в своём уютненьком
|
||
21 фев 20, 16:42 [22084764] Ответить | Цитировать Сообщить модератору |
забыл ник Member Откуда: Сообщений: 3515 |
Божечки ж ты мой... Я всегда смело опсылаю в жопу таких постановщиков, слава богу авторитет позволяет:)) Вот что говорит один из банды GOF - . Кент Бек или вот Или еще тут Вообще согласен с мэйтоном - 60% обычно за глаза - все что больше - только будет мешать кодить. |
21 фев 20, 17:01 [22084776] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 23 вперед Ctrl→ |
Все форумы / Java | ![]() |