У меня есть класс, часть функционала в котором реализует trait. Чтобы все протестировать необходимо данный trait подменить на свой (тестовый).
Как это можно сделать ?
Наиболее простым решением будет унаследовать новый класс от исходного и подключить к нему тестовый трейт, который спрячет методы исходного трейта.
То есть если у нас есть исходный трейт и класс:
trait SrcTrait {
public function check(){
echo "src-trait";
}
}
class Test {
use SrcTrait;
}
а также тестовый трейт:
trait TestTrait {
public function check(){
echo "test-trait";
}
}
то при проведении тестов мы создаем новый класс наследник и подключаем к нему тестовый трейт.
class Test2 extends Test {
use TestTrait;
}
$x = new Test2();
$x->check();
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости