Size: a a a

Saint P Ruby Community

2019 September 14

IM

Igor Morozov in Saint P Ruby Community
Tharin
У меня есть одна проблема - мне часто очень лень создавать тестовые данные, чтобы проверить сделанную фичу. И покрывать всё-всё тестами привычки нет. Как заставлять себя всегда всё проверять - хз. Избаловали тестировщики :)
подключи кодклимат и заставь его бить ссаными тряпками за diff coverage
источник

T

Tharin in Saint P Ruby Community
Igor Morozov
подключи кодклимат и заставь его бить ссаными тряпками за diff coverage
прям через экран чтоб?)
источник

IM

Igor Morozov in Saint P Ruby Community
да
источник

T

Tharin in Saint P Ruby Community
Идея 🙂 Один из демотиваторов - люди ждут фичу, а написать спеку - +время. Правда, я не дурак, и понимаю, что порой лучше б спеку написал, т.к. времени в итоге ушло дольше. Но все равно что-то сделать с этим - сложно. Ну и в команде у нас довольно лайтово к spec-coverage относятся.
источник

T

Tharin in Saint P Ruby Community
Никогда не слышал о кодклимате 🙂 попробую
источник

T

Tharin in Saint P Ruby Community
Anton Chuchkalov
Если используете github или bitbucket, можно сделать PR template с чекбоксами, одним из которых будет "фича покрыта тестами"
Хммммм. Поговорю с командой на этот счет 👍 спс
источник

IM

Igor Morozov in Saint P Ruby Community
Tharin
Никогда не слышал о кодклимате 🙂 попробую
diff coverage в кодклимате / аналогичных сервисах больно втаскивать на проект, где:

1. уже есть много кусков без тестов
2. есть рефакторинги / перемещения файликов / кода

больно почему:

1. запилил pull-request
2. задел какой-то сервис
3. а на него не написаны тесты
4. проверка валится
5. а тесты сделают задачу ещё больше

но с этим легче жить, если у вас ревью норм работает. тогда можно просто куски с рефакторингом и тестами на него в отдельный PR выкинуть и всё будет хорошо
источник

T

Tharin in Saint P Ruby Community
У нас это превратится в “каждый PR с фичей и тестами на нее просит еще и тесты на все вокруг”
источник

T

Tharin in Saint P Ruby Community
Тестами покрыто много, но не все 🙂
источник

IM

Igor Morozov in Saint P Ruby Community
а вот тут нужно научиться не рефакторить всё, к чему прикасаешься. я этим страдал, но по рукам слишком часто получал.

или можно просто выносить рефакторинг перед тем, как всё отправляешь на ревью

жить можно, в целом
источник

IK

Igor Khodyrev in Saint P Ruby Community
Ну если нужно простое решение, то simplecov, вставляешь min coverage текущий и потом его только повышаешь каждый раз, тесты скорей всего придётся каждый раз писать + со временем покрытие улучшится
источник

IK

Igor Khodyrev in Saint P Ruby Community
Igor Morozov
а вот тут нужно научиться не рефакторить всё, к чему прикасаешься. я этим страдал, но по рукам слишком часто получал.

или можно просто выносить рефакторинг перед тем, как всё отправляешь на ревью

жить можно, в целом
Такие вещи конечно часто с опытом приходят, когда остановиться. Как по мне нужно начинать рефакторинг сверху вниз. Определяешь изменения в интерфейсе вызываемых методов и классов, которые хочешь поменять. Это определит скоуп. И дальше за него уже не вылазить.
источник

T

Tharin in Saint P Ruby Community
Igor Khodyrev
Ну если нужно простое решение, то simplecov, вставляешь min coverage текущий и потом его только повышаешь каждый раз, тесты скорей всего придётся каждый раз писать + со временем покрытие улучшится
ну вот как-то так на весь проект
источник

T

Tharin in Saint P Ruby Community
источник

T

Tharin in Saint P Ruby Community
Думал, меньше
источник

AC

Anton Chuchkalov in Saint P Ruby Community
Если какие-то файлы не покрыты тестами и не require'тся, то они не будут учтены в отчете simplecov
источник

AC

Anton Chuchkalov in Saint P Ruby Community
(Возможно)
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Tharin
У меня есть одна проблема - мне часто очень лень создавать тестовые данные, чтобы проверить сделанную фичу. И покрывать всё-всё тестами привычки нет. Как заставлять себя всегда всё проверять - хз. Избаловали тестировщики :)
Если в проекте нет тестов совсем или их мало, то значит вашему проекту он не нужны.
источник

IM

Igor Morozov in Saint P Ruby Community
Ilya Nikolaevich
Если в проекте нет тестов совсем или их мало, то значит вашему проекту он не нужны.
а если тестов нет, но бизнес встал от того, что на разработку и QA уходит слишком много времени из-за отсутствия тестов?
источник

ES

Eugene Shved in Saint P Ruby Community
Делайте фича тесты.
источник