|
AlexanderC ↓
|
 |
|
27 Январь, 2012, 09:11:05
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 1
Сообщений: 140 Сила слова: 0.71
|
Может кто-то обьяснить суть этого + буду признателен если поделится best practice'ами на эту тему.
|
|
|
|
|
Записан
|
*Не всё Windows™ что виснет, не всё Linux что "да ну его..."
|
|
|
|
AlexanderC ↓
|
 |
|
27 Январь, 2012, 09:22:57 , спустя 11 минут 52 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 1
Сообщений: 140 Сила слова: 0.71
|
+BDD Behat Спустя 2 минуты 9 секунд добавил и что вы думаете про http://codeception.com/
|
|
|
|
|
Записан
|
*Не всё Windows™ что виснет, не всё Linux что "да ну его..."
|
|
|
|
vasa_c ↓
|
 |
|
27 Январь, 2012, 09:57:10 , спустя 34 минуты 13 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 81
Сообщений: 2459 Сила слова: 3.29
|
чего конкретно суть?
|
|
|
|
|
Записан
|
|
|
|
|
davert ↓
|
 |
|
28 Январь, 2012, 04:54:52 , спустя 6 часов 57 минут 42 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 2
Сообщений: 4 Сила слова: 50
|
Оки, я так посмотрел, вы меня тут упомянули, а я вот взял, и появился )
Суть моков в юнит-тестировании в том, что при тестировании кода важно знать какая часть его работает, какая нет. А значит нужно классы и методы тестировать в изоляции. Моки и стабы существуют в том же пыхюните, как раз для того, чтобы эмулировать эту изоляцию. При тестировании метода, мы тестируем конкретно один метод, а если он что-то дополнительно вызывает, всё это мы заменяем на заглушки.
Суть BDD: если у вас есть потребность описывать спецификации сайта, то очень просто превратить их в тест посредством BDD и бихет. Описание поведения на человеческом языке с целью показать заказчику это то, зачем оно всё нужно. Если же вы не хотите писать Войну и Мир о своем сайте. Если вы просто хотите быстро написать тесты - Codeception как раз для вас. Плюс в нем есть, как и юниты, так и приемочные, так и функциональные.
|
|
|
|
|
Записан
|
|
|
|
|
Sinkler ↓
|
 |
|
28 Январь, 2012, 04:58:33 , спустя 3 минуты 41 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6808 Сила слова: 1.07
|
круто, спасибо
|
|
|
|
|
Записан
|
|
|
|
|
AlexanderC ↓
|
 |
|
28 Январь, 2012, 01:34:41 , спустя 8 часов 36 минут 8 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 1
Сообщений: 140 Сила слова: 0.71
|
ок, вот ток как быть с приват методами? В пыюните бывает чтё желаемый результат может быть достигнут через анальное отверстие... есть может бест практисы? Спустя 1 минуту 25 секунд добавил Codeception- однозначно понравился, потому как удобно очень..
|
|
|
|
|
Записан
|
*Не всё Windows™ что виснет, не всё Linux что "да ну его..."
|
|
|
|
davert ↓
|
 |
|
28 Январь, 2012, 04:18:25 , спустя 2 часа 43 минуты 44 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 2
Сообщений: 4 Сила слова: 50
|
Приватные методы исходя из бест практисов сами по себе тестироваться не должны. Объясню: важно тестировать не просто каждый метод, а те методы, с которыми может происходить внешнее взаимодействие. То есть класс стабильный, когда все публичные методы его протестирвоаны. Как он там действует внутри себя - всем пофиг. Он может менять приватные методы, свойства. Главное, что апи его методов (контракты) остаются стабильными.
Если же речь идет о том как "замокать" класс с приватным методом, то скорее всего никак. Лучше делать протектед-методы.
Да, со статическими методами - тоже фигня. Их мокать тоже не получится.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
28 Январь, 2012, 04:31:24 , спустя 12 минут 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
Если же речь идет о том как "замокать" класс с приватным методом, то скорее всего никак
Можно мокать "обратными рефлекторами"
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
AlexanderC ↓
|
 |
|
28 Январь, 2012, 04:40:19 , спустя 8 минут 55 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 1
Сообщений: 140 Сила слова: 0.71
|
"обратными рефлекторами" +1 Спустя 1 минуту 29 секунд добавил но иногда я не понимаю зачем вообще мокать то что работает с внешними хренями, типо дб или апи... если правельно разделять части приложения- можно и без моков, тем более что у них проблемы с гетерами и сетерами... хз Спустя 48 секунд добавил ***...то что !работает....
|
|
|
|
|
Записан
|
*Не всё Windows™ что виснет, не всё Linux что "да ну его..."
|
|
|
|
davert ↓
|
 |
|
28 Январь, 2012, 10:49:50 , спустя 6 часов 9 минут 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 2
Сообщений: 4 Сила слова: 50
|
Можно мокать "обратными рефлекторами"
А можно уточнить что имеется ввиду? А то рефлексией можно только доступ к методу получить, а вот доопределить его, наверное, никак.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
28 Январь, 2012, 11:08:16 , спустя 18 минут 26 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
davert, честно говоря я не разбирался, но вроде runkit может сделать что надо Спустя 2 минуты 20 секунд добавил runkit_method_redefine но это экспериментальный Спустя 2 минуты 20 секунд добавил davert, а вообще, вы правы, скрытые части нужно тестить только согласно политике, а не всякий раз...
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
davert ↓
|
 |
|
29 Январь, 2012, 12:31:06 , спустя 1 час 22 минуты 50 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 2
Сообщений: 4 Сила слова: 50
|
Ну runkit может всё, факт )
Но я пока делаю то, что предлагает сам РНР без надстроек. Но насчет Runkit, спасибо. Возможно внедрю его поддержку в Codeception )
|
|
|
|
|
Записан
|
|
|
|
|