catch output and show them within the detail view
tests / test (push) Failing after 6s

This commit is contained in:
2026-06-12 17:59:09 +02:00
parent 279fc56ee5
commit fdbe98154e
+23 -4
View File
@@ -19,12 +19,30 @@
const RESULT_PREFIX = 'TSAMURAI_RESULT ';
export default class TestSamuraiVitestReporter {
constructor() {
this._consoleLogs = new Map();
}
onUserConsoleLog(log) {
if (!log.taskId) return;
if (!this._consoleLogs.has(log.taskId)) {
this._consoleLogs.set(log.taskId, []);
}
const lines = log.content.split('\n');
for (const line of lines) {
if (line !== '') {
this._consoleLogs.get(log.taskId).push(line);
}
}
}
onTestCaseResult(testCase) {
const name = buildListingName(testCase);
const status = mapStatus(testCase.task);
if (!status) return;
const output = buildOutput(testCase.task);
const consoleLogs = this._consoleLogs.get(testCase.task?.id) ?? [];
const output = buildOutput(testCase.task, consoleLogs);
const payload = {
name,
@@ -69,10 +87,11 @@ function mapStatus(task) {
}
/**
* Collects error messages and stack traces for failed tests.
* Collects console logs and error messages/stack traces for tests.
* Console logs appear first, then error details.
*/
function buildOutput(task) {
const lines = [];
function buildOutput(task, consoleLogs = []) {
const lines = [...consoleLogs];
if (!task) return lines;
const errors = task.result?.errors ?? [];
for (const err of errors) {