Size: a a a

2021 April 12

VM

Volodymyr Melko in symfony
моки моделей - вот что нонсенс, не перекручивайте слова
источник

AK

Anton K. in symfony
сколько себя помню тестировали именно черный ящик. что-то на вход - что-то на выход. сколько раз что-то внутри вызывалось это для чего? чтобы что?
источник

A

Anthony in symfony
Слыхали, слыхали. Но речь не про оптимизацию. Наличие контракта интерфейса не имеет ничего общего с оптимизацией.
А извлечение интерфейса повлечет за собой кучу изменений в системе и переписывание тестов.
Дороговата процедура получится.

Но опять же - ваша система, вам выбирать
источник

A

Anthony in symfony
Ну, к примеру, вы тестируете кастомный итератор
источник

AK

Anton K. in symfony
cек открою тест свой кастомного итератора
источник

A

Anthony in symfony
у вас есть информация на входе, вы должны понимать, сколько раз он будет вызван.
источник

AN

Alexander Nazarov in symfony
вполне частая задача. Убедится в том что в очередь отправилось только два месседжа а не три в случае например ошибки. Может быть конечно бредовый пример, но тестануть что что то вызвалось определенное количество раз, иногда приходится.
источник

AK

Anton K. in symfony
$iterations = 0; foreach ($iterator as $item) { $iterations++; }; $this->assertEquals(10, $iterations); ?
источник

AK

Anton K. in symfony
тогда я бы спросил у очереди, сколько сообщений пришло. а не сколько раз вызвался метод pushSmthngToQueue();
источник

A

Anthony in symfony
Судя по всему, это карго культ и хрупкий тест )
источник

AK

Anton K. in symfony
потому что легко можно написать
function pushSmthngToQueue()
{
   $this->pushToQueue(...);
   $this->pushToQueue(...);
}

и тест пройдет
источник

AK

Anton K. in symfony
и далее по цепочке приходим к функциональному тестированию, а не unit
источник

AN

Alexander Nazarov in symfony
Ну это не все что тест должен проверить. Это один из Assert которые он должен проверить.
источник

A

Anthony in symfony
Ладно, развлекайтесь.
Не пишите тесты вообще. Это дешевле.
источник

AK

Anton K. in symfony
или пишите, как Вы сказали, или вообще не пишите. окей
источник

A

Anthony in symfony
я вообще ни на чем не настаиваю )
источник

AN

Alexander Nazarov in symfony
Ну вот бытует мнение что если есть функциональные тесты, то юнит не нужны.
источник

AK

Anton K. in symfony
юниты быстрее работают :)
источник

AN

Alexander Nazarov in symfony
Но если есть функциональные то они по идее покроют то что проверяют юниты
источник

A

Anthony in symfony
2+2 = 4
2*2 = 4
Результат один.
Но получен разными путями.
источник