test: 조건부 통합 검증의 부분 생략을 차단한다
This commit is contained in:
@@ -477,21 +477,21 @@ record_vitest_result() {
|
|||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
const result = JSON.parse(fs.readFileSync(process.argv[1], "utf8"));
|
const result = JSON.parse(fs.readFileSync(process.argv[1], "utf8"));
|
||||||
const files = Array.isArray(result.testResults) ? result.testResults : [];
|
const files = Array.isArray(result.testResults) ? result.testResults : [];
|
||||||
const isSkipped = ({ assertionResults = [], status }) =>
|
const skippedStatuses = new Set(["disabled", "pending", "skipped", "todo"]);
|
||||||
status === "pending" ||
|
const hasSkippedAssertion = ({ assertionResults = [], status }) =>
|
||||||
(assertionResults.length > 0 &&
|
skippedStatuses.has(status) ||
|
||||||
assertionResults.every(({ status: assertionStatus }) =>
|
assertionResults.some(({ status: assertionStatus }) => skippedStatuses.has(assertionStatus));
|
||||||
assertionStatus === "pending" || assertionStatus === "todo"
|
const skipped = files.filter(hasSkippedAssertion).length;
|
||||||
));
|
|
||||||
const skipped = files.filter(isSkipped).length;
|
|
||||||
const failed = files.filter(({ status }) => status === "failed").length;
|
const failed = files.filter(({ status }) => status === "failed").length;
|
||||||
const passed = files.length - skipped - failed;
|
const passed = files.filter(
|
||||||
|
(file) => file.status !== "failed" && !hasSkippedAssertion(file)
|
||||||
|
).length;
|
||||||
process.stdout.write(`${passed}\t${skipped}\t${failed}`);
|
process.stdout.write(`${passed}\t${skipped}\t${failed}`);
|
||||||
' "$result_file")
|
' "$result_file")
|
||||||
printf '%s\t%s\n' "$label" "$counts" >>"$summary_file"
|
printf '%s\t%s\n' "$label" "$counts" >>"$summary_file"
|
||||||
skipped=$(printf '%s' "$counts" | cut -f2)
|
skipped=$(printf '%s' "$counts" | cut -f2)
|
||||||
if [ "$skipped" -ne 0 ]; then
|
if [ "$skipped" -ne 0 ]; then
|
||||||
echo "$label left $skipped integration test file(s) skipped" >&2
|
echo "$label left $skipped integration test file(s) with skipped assertion(s)" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user