Skip to content

Judge

Named judge object consumed by suite-level judges and explicit assertions.

type RefundOutput = { status: "approved" | "denied" };
type RefundMetadata = { expected: { status: RefundOutput["status"] } };
const judge: Judge<JudgeContext<string, RefundOutput, RefundMetadata>> = {
name: "RefundStatusJudge",
assess: ({ output, metadata }) => ({
score: output.status === metadata.expected.status ? 1 : 0,
}),
};

TOptions extends JudgeContext<any, any, any, any> = JudgeContext

assess: JudgeAssessFn<TOptions>

Scores one normalized judge context.


optional judgeHarness?: JudgeHarness

Default judge-side harness used when matcher options do not provide one.


name: string

Stable judge name used in assertion messages and reports.