Есть класс с двумя методами, один оперирует данными взятыми из второго. Нужно протестировать метод sum не получая данных из метода db, а подставив свои.
public function sum()
{
$db = $this->db();
return $db['a'] + $db['b'];
}
private function db()
{
return ['a' => 1, 'b' => 3];
}
Пробовал замокать метод db и протестировать вот так
$this->class = $this->make(ClassName, [
'db' => function() {
return ['a' => 4, 'b' => 2]
}
]);
$this->assertSame(6, $this->class->sum());
но при тесте мои данные не подставляются, по прежнему db вызванный в методе sum возвращает старый массив ...
Вот так я делал, чтобы замокать метод.
$class = new class () extends ClassName
{
private function db()
{
return ['a' => 4, 'b' => 2];
}
};
$this->assertSame(6, $class->sum());
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть система файлов и папокВ данном контексте - папка и файл некое структурированное значение в БД
Вернее, обработчик один, но много запросов идут вместе (телеграмм бот)Заметил, что в логе в пиковые моменты далеко не вся информация записана,...
Laravel требует чтобы были установлены следующие php расширения: