Сергей Поздняков, вы же знаете что должно получиться в итоге исходя из входных данных, вот и тестируйте. Данные на входе, скорее всего надо моки, и потом ассерты с ожидаемымы данными. Кстати два цикла зачем
foreach ($order->getProducts() + $order->getServices() as $product)
или вообще
array_map([$this, 'recalculateOrderItem'], $order->getProducts() + $order->getServices())
Сергей Поздняков, я использую плагин в шторме, который показывает подсветкой какие строки попали в тест, количество строк класса всего и под тестом, проценты, классы