Модульное тестирование - Комментарии

RSS
Вантуз-мен (09.06.16 / 00:42)
Господин ПЖ
Вполне доходчиво и понятно, интересно было бы прочитать про mock тестирование
Reflesh (23.06.16 / 11:10)
Пришелец
Ну почему же каждый метод тест индивидуальный, кто автору phpunit внушил сделать именно так.
Артур (23.06.16 / 17:44)
Оранжевые штаны
Reflesh, не совсем понял комментарий. Тесты дробятся на методы, чтобы было проще найти причину ошибки. Если у вас в одном методе теста слишком много тестируется, то локализовать ошибку будет сложнее, ибо не понятно, что именно привело к ее возникновению, но если разбить один большой метод теста на 10 маленьких и в процессе тестирования 2-3 из этих методов не пройдут, то будет сразу понятно, в чем была причина ошибки.
Reflesh (23.06.16 / 21:21)
Пришелец
Башка, Вся проблема в том, что setUp и tearDown вызываются для каждого метода теста, то-есть каждый метод теста индивидуальный, это такое убожество.... А методы которые вызываются вначале класса и в конце, статитка. Сохранить что-то для следующих методов тестов, только в статитки, это дерьмо и еще хуже. Лучше и придумать нельзя было...

Пишем тесты для тестирования классов которые работают с бд, и тут в setUp для каждого теста наполняем бд данными а в tearDown удаляем все, и такое создание и удаление для каждого метода теста, др***во!

Не, ну конечно можно всю эту логику в трейты запихать, но все равно это дерьмо! А тестирование фреймворков, для каждого теста инициализируется фрейм, либы, бд заполняется данными и т.д.. Др***во, дерьмо!
Reflesh (23.06.16 / 21:30)
Пришелец
А, и тут автор либо не знает о setUp либо, обходит его стороной.
Reflesh (23.06.16 / 21:31)
Пришелец
А mock, так это вообще, что за чудо конструктор лего....
Артур (23.06.16 / 22:50)
Оранжевые штаны
Вся проблема в том, что setUp и tearDown вызываются для каждого метода теста, то-есть каждый метод теста индивидуальный, это такое убожество

Вас никто не заставляет использовать методы setUp и tearDown при тестировании. Я, к примеру, пользуюсь этими методами для совсем уж простеньких тестов, для остального я использую фабричные методы.
Сохранить что-то для следующих методов тестов

Сохранять что-то между методами теста это моветон.
тут в setUp для каждого теста наполняем бд данными а в tearDown удаляем все

Так делать не рекомендуется. Если есть возможность, необходимо заменить работу с базой mock объектами, если такой возможности нет, то создавать данные в базе следует на уровне setUpBeforeClass метода.
А mock, так это вообще, что за чудо конструктор лего

Mock это Mock, не больше, не меньше.
Reflesh (23.06.16 / 23:51)
Пришелец
Башка, это я бешусь все из-за того что у Laravel все укладывается в setUp и tearDown и он заставляет заниматься таким онанизмом, и все им занимаются.


Так делать не рекомендуется. Если есть возможность, необходимо заменить работу с базой mock объектами, если такой возможности нет, то создавать данные в базе следует на уровне setUpBeforeClass метода.

Статика vtopku.gif
Артур (23.06.16 / 23:57)
Оранжевые штаны
Reflesh, я плохо знаком с Laravel, не могу по этому поводу ничего сказать.
Статика

В данном случае не вижу причин не использовать статику.
Для выполнения действия необходимо авторизоваться!