56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import { TeamcityReporter } from "./TeamcityReporter.ts";
|
|
|
|
// Check if running in TeamCity environment
|
|
const isTeamCity = process.env.TEAMCITY_VERSION !== undefined;
|
|
|
|
// Override console methods to capture test output if needed
|
|
if (isTeamCity) {
|
|
// You can add global beforeAll/afterAll if needed
|
|
console.log("TeamCity reporter enabled");
|
|
}
|
|
|
|
// Export wrapper functions for test suites
|
|
export function setupTeamCityReporting() {
|
|
if (!isTeamCity) {
|
|
return {
|
|
reportSuiteStart: () => {},
|
|
reportSuiteEnd: () => {},
|
|
reportTestStart: () => {},
|
|
reportTestEnd: () => {},
|
|
reportTestFailed: () => {},
|
|
reportTestError: () => {},
|
|
};
|
|
}
|
|
|
|
return {
|
|
reportSuiteStart: (name: string) => {
|
|
TeamcityReporter.reportSuiteStart(name);
|
|
},
|
|
reportSuiteEnd: (name: string) => {
|
|
TeamcityReporter.reportSuiteEnd(name);
|
|
},
|
|
reportTestStart: (name: string) => {
|
|
TeamcityReporter.reportTestStart(name);
|
|
},
|
|
reportTestEnd: (name: string) => {
|
|
TeamcityReporter.reportTestEnd(name);
|
|
},
|
|
reportTestFailed: (
|
|
name: string,
|
|
message: string,
|
|
details: string,
|
|
comparison?: { expected: string; actual: string }
|
|
) => {
|
|
TeamcityReporter.reportTestFailed(name, message, details, {
|
|
comparisonFailure: !!comparison,
|
|
expected: comparison?.expected || "",
|
|
actual: comparison?.actual || "",
|
|
});
|
|
},
|
|
reportTestError: (name: string, error: Error) => {
|
|
TeamcityReporter.reportTestError(name, error);
|
|
},
|
|
};
|
|
}
|
|
|