passed()) { $failedFiles[] = ['file' => $filename, 'error' => 'テストが失敗・エラーで完了しました。', 'line' => null]; } else { $successFiles++; } } catch (\Throwable $e) { $output = ob_get_clean(); if (!empty($output)) { echo $output."\n"; } echo "エラー: ".$e->getMessage()."\n"; echo "ファイル: ".$e->getFile()." (行: ".$e->getLine().")\n\n"; $failedFiles[] = [ 'file' => $filename, 'error' => $e->getMessage(), 'line' => $e->getLine(), ]; } } echo "\n"; echo "テスト結果:\n"; echo "------------------------------------------------\n"; echo "テストファイル数: {$totalFiles}\n"; echo "成功: {$successFiles}\n"; echo "失敗: ".count($failedFiles)."\n"; if (!empty($failedFiles)) { echo "\n失敗したテストファイル:\n"; foreach ($failedFiles as $failed) { echo "- {$failed['file']}".($failed['line'] !== null ? " (行: {$failed['line']})" : '').": {$failed['error']}\n"; } exit(1); }