@urateam/core 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/test-quality.test.js +83 -0
- package/dist/__tests__/test-quality.test.js.map +1 -1
- package/dist/executor/test-quality.d.ts +25 -1
- package/dist/executor/test-quality.d.ts.map +1 -1
- package/dist/executor/test-quality.js +54 -5
- package/dist/executor/test-quality.js.map +1 -1
- package/package.json +1 -1
|
@@ -313,6 +313,89 @@ it("throws on bad input", () => { expect(() => sum(null, 2)).toThrow(); });
|
|
|
313
313
|
expect(typeof v.description).toBe("string");
|
|
314
314
|
expect(typeof v.fix).toBe("string");
|
|
315
315
|
});
|
|
316
|
+
// ---------------------------------------------------------------------------
|
|
317
|
+
// urateam#97 / rotulus#17 PR #18: constant-self-equality stub detection
|
|
318
|
+
// ---------------------------------------------------------------------------
|
|
319
|
+
it("flags constant-self-equality stubs even when buried among real assertions (rotulus#17 case)", async () => {
|
|
320
|
+
// Reproduces the PR #18 regression: nav test file had 4 stubs of the
|
|
321
|
+
// form `expect(BRAND_COLOR).toBe(BRAND_COLOR)` mixed in with many
|
|
322
|
+
// real behavioral assertions. Pre-fix, the stubs counted as
|
|
323
|
+
// "behavioral" (toBe matcher), the file's trivialRatio stayed below
|
|
324
|
+
// the 0.8 threshold, and the file was NOT flagged. Post-fix, the
|
|
325
|
+
// stubs are reclassified to trivial AND any non-zero stubAssertions
|
|
326
|
+
// unconditionally flags the file.
|
|
327
|
+
const content = `
|
|
328
|
+
describe("nav constants", () => {
|
|
329
|
+
it("uses brand color", () => { expect(BRAND_COLOR).toBe(BRAND_COLOR); });
|
|
330
|
+
it("uses bg color", () => { expect(TAB_BAR_BG).toBe(TAB_BAR_BG); });
|
|
331
|
+
it("uses inactive color", () => { expect(TAB_INACTIVE_COLOR).toBe(TAB_INACTIVE_COLOR); });
|
|
332
|
+
it("uses ac3", () => { expect(AC3).toBe(AC3); });
|
|
333
|
+
it("real test 1", () => { expect(getValue()).toEqual({ a: 1, b: 2 }); });
|
|
334
|
+
it("real test 2", () => { expect(items).toHaveLength(3); });
|
|
335
|
+
it("real test 3", () => { expect(spy).toHaveBeenCalledWith("foo"); });
|
|
336
|
+
it("real test 4", () => { expect(promise).resolves.toEqual("done"); });
|
|
337
|
+
it("real test 5", () => { expect(error).toThrow("BadInput"); });
|
|
338
|
+
});`;
|
|
339
|
+
mockReadFile({ [join("/worktree", "nav.test.tsx")]: content });
|
|
340
|
+
const result = await checkTestQuality(["nav.test.tsx"], "/worktree");
|
|
341
|
+
expect(result.analyses[0].stubAssertions).toBe(4);
|
|
342
|
+
expect(result.analyses[0].isFlagged).toBe(true);
|
|
343
|
+
expect(result.violations).toHaveLength(1);
|
|
344
|
+
expect(result.violations[0].description).toContain("4 constant-self-equality stub(s)");
|
|
345
|
+
});
|
|
346
|
+
it("reclassifies expect(X).toEqual(X) and toStrictEqual(X) as trivial too", async () => {
|
|
347
|
+
const content = `
|
|
348
|
+
it("a", () => { expect(VAR).toEqual(VAR); });
|
|
349
|
+
it("b", () => { expect(VAR2).toStrictEqual(VAR2); });
|
|
350
|
+
it("c", () => { expect(real).toBe(42); });`;
|
|
351
|
+
mockReadFile({ [join("/worktree", "x.test.ts")]: content });
|
|
352
|
+
const result = await checkTestQuality(["x.test.ts"], "/worktree");
|
|
353
|
+
const a = result.analyses[0];
|
|
354
|
+
expect(a.stubAssertions).toBe(2);
|
|
355
|
+
// Real `toBe(42)` stays behavioral.
|
|
356
|
+
expect(a.behavioralAssertions).toBe(1);
|
|
357
|
+
// Trivial pool gains the 2 stubs (despite using behavioral matchers).
|
|
358
|
+
expect(a.trivialAssertions).toBe(2);
|
|
359
|
+
expect(a.isFlagged).toBe(true);
|
|
360
|
+
});
|
|
361
|
+
it("matches member-access identifiers (expect(obj.foo).toBe(obj.foo))", async () => {
|
|
362
|
+
const content = `it("a", () => { expect(config.brandColor).toBe(config.brandColor); });`;
|
|
363
|
+
mockReadFile({ [join("/worktree", "y.test.ts")]: content });
|
|
364
|
+
const result = await checkTestQuality(["y.test.ts"], "/worktree");
|
|
365
|
+
expect(result.analyses[0].stubAssertions).toBe(1);
|
|
366
|
+
expect(result.analyses[0].isFlagged).toBe(true);
|
|
367
|
+
});
|
|
368
|
+
it("does NOT flag expect(X).toBe(Y) when identifiers differ (negative control)", async () => {
|
|
369
|
+
const content = `
|
|
370
|
+
it("a", () => { expect(actual).toBe(expected); });
|
|
371
|
+
it("b", () => { expect(brandColor).toBe(theme.brandColor); });
|
|
372
|
+
it("c", () => { expect(items).toEqual([1, 2, 3]); });`;
|
|
373
|
+
mockReadFile({ [join("/worktree", "z.test.ts")]: content });
|
|
374
|
+
const result = await checkTestQuality(["z.test.ts"], "/worktree");
|
|
375
|
+
expect(result.analyses[0].stubAssertions).toBe(0);
|
|
376
|
+
expect(result.analyses[0].behavioralAssertions).toBe(3);
|
|
377
|
+
expect(result.analyses[0].isFlagged).toBe(false);
|
|
378
|
+
expect(result.violations).toHaveLength(0);
|
|
379
|
+
});
|
|
380
|
+
it("flags a file where ONE test has a constant-self-equality stub (no dilution-grace)", async () => {
|
|
381
|
+
// The diluted-ratio defense was the rotulus#17 regression. Even one
|
|
382
|
+
// stub in a file with otherwise-real tests should fire the flag.
|
|
383
|
+
const content = `
|
|
384
|
+
it("real 1", () => { expect(a).toEqual({ x: 1 }); });
|
|
385
|
+
it("real 2", () => { expect(b).toHaveLength(5); });
|
|
386
|
+
it("stub", () => { expect(THEME).toBe(THEME); });
|
|
387
|
+
it("real 3", () => { expect(spy).toHaveBeenCalledWith("ok"); });`;
|
|
388
|
+
mockReadFile({ [join("/worktree", "mixed.test.ts")]: content });
|
|
389
|
+
const result = await checkTestQuality(["mixed.test.ts"], "/worktree");
|
|
390
|
+
const a = result.analyses[0];
|
|
391
|
+
expect(a.stubAssertions).toBe(1);
|
|
392
|
+
expect(a.behavioralAssertions).toBe(3); // 3 real, 1 stub reclassified out
|
|
393
|
+
// Trivial ratio is 1/4 = 25% — way below the 0.8 threshold. Pre-fix
|
|
394
|
+
// this would NOT have been flagged. Post-fix the unconditional
|
|
395
|
+
// stub-count flag fires.
|
|
396
|
+
expect(a.trivialRatio).toBeLessThan(TRIVIAL_THRESHOLD);
|
|
397
|
+
expect(a.isFlagged).toBe(true);
|
|
398
|
+
});
|
|
316
399
|
it("identifies BEC-52 pattern: 13 tests all with toBeDefined", async () => {
|
|
317
400
|
// Reproduce the problematic BEC-52 dashboard server.test.ts pattern
|
|
318
401
|
const tests = Array.from({ length: 13 }, (_, i) => ` it("test ${i + 1}", () => { expect(app).toBeDefined(); });`).join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-quality.test.js","sourceRoot":"","sources":["../../src/__tests__/test-quality.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAC9E,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAC9E,SAAS,YAAY,CAAC,OAA+B;IAClD,QAAqC,CAAC,kBAAkB,CACvD,KAAK,EAAE,IAAY,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;AACJ,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAC9E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAC9E,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,mBAAwC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG;;;;CAInB,CAAC;QACE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG;;;;;;;CAOnB,CAAC;QACE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG;;;;CAInB,CAAC;QACE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,yDAAyD,CAAC;QAC1E,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAC9E,QAAQ,CAAC,4DAA4D,EAAE,GAAG,EAAE;IAC1E,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,OAAO,GAAG;;;;;;;CAOnB,CAAC;QACE,YAAY,CAAC,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAEnE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,OAAO,GAAG;;;CAGnB,CAAC;QACE,2FAA2F;QAC3F,YAAY,CAAC,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAClE,qEAAqE;QACrE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,OAAO,GAAG;;;;;;;;;CASnB,CAAC;QACE,oCAAoC;QACpC,YAAY,CAAC,EAAE,kCAAkC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC3E,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAC9E,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG;;;;;;;;CAQnB,CAAC;QACE,YAAY,CAAC,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,wBAAwB,CAAC,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,OAAO,GAAG;;;;;CAKnB,CAAC;QACE,YAAY,CAAC,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAEhE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAC9E,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG;;;;CAInB,CAAC;QACE,YAAY,CAAC,EAAE,kCAAkC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAE3E,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3E,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG;;;CAGnB,CAAC;QACE,YAAY,CAAC,EAAE,+BAA+B,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,+BAA+B,CAAC,CAAC;QAExE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAC9E,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC9D,QAAqC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAE/D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,YAAY,CAAC,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAE5E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAElE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAC9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,cAAc,GAAG;;;;CAI1B,CAAC;QACE,YAAY,CAAC;YACX,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC,EAAE,cAAc;SACpE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,CAAC,8BAA8B,CAAC,EAChC,WAAW,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,WAAW,GAAG;;;CAGvB,CAAC;QACE,YAAY,CAAC;YACX,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,EAAE,WAAW;SAC9D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,CAAC,2BAA2B,EAAE,YAAY,CAAC,EAC3C,WAAW,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,OAAO,GAAG,oDAAoD,CAAC;QACrE,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAEpE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,mCAAmC;QACnC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,oEAAoE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,2CAA2C,CACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,OAAO,GAAG,kCAAkC,KAAK,OAAO,CAAC;QAE/D,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,CAAC;QAEvE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"test-quality.test.js","sourceRoot":"","sources":["../../src/__tests__/test-quality.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,24 @@ export declare const BEHAVIORAL_MATCHERS: readonly ["toEqual", "toStrictEqual",
|
|
|
57
57
|
* Files with >80% trivial assertions are considered low quality.
|
|
58
58
|
*/
|
|
59
59
|
export declare const TRIVIAL_THRESHOLD = 0.8;
|
|
60
|
+
/**
|
|
61
|
+
* Regex for "constant-self-equality" stubs: `expect(X).toBe(X)`,
|
|
62
|
+
* `expect(X).toEqual(X)`, or `expect(X).toStrictEqual(X)` where the
|
|
63
|
+
* same identifier (possibly with member access like `obj.foo`) appears on
|
|
64
|
+
* both sides. These use behavioral matchers but assert a tautology
|
|
65
|
+
* (X === X) — which is always true and verifies nothing meaningful.
|
|
66
|
+
*
|
|
67
|
+
* Reclassified as trivial in countAssertions(). Triggers an unconditional
|
|
68
|
+
* flag (not just when the file's overall trivial ratio is high) — these
|
|
69
|
+
* patterns are unambiguous stubs and shouldn't ship even when diluted
|
|
70
|
+
* by real assertions elsewhere in the file.
|
|
71
|
+
*
|
|
72
|
+
* Pattern observed in rotulus#17 PR #18 where the agent left
|
|
73
|
+
* `expect(BRAND_COLOR).toBe(BRAND_COLOR)` and similar stubs intact —
|
|
74
|
+
* the previous detector counted them as behavioral and the file passed.
|
|
75
|
+
* See urateam#97 evidence comment.
|
|
76
|
+
*/
|
|
77
|
+
export declare const CONSTANT_SELF_EQUALITY_PATTERN: RegExp;
|
|
60
78
|
/**
|
|
61
79
|
* Analysis result for a single test file.
|
|
62
80
|
*/
|
|
@@ -65,10 +83,16 @@ export interface TestFileAnalysis {
|
|
|
65
83
|
file: string;
|
|
66
84
|
/** Total assertions (trivial + behavioral) */
|
|
67
85
|
totalAssertions: number;
|
|
68
|
-
/** Number of trivial assertions */
|
|
86
|
+
/** Number of trivial assertions (includes constant-self-equality stubs) */
|
|
69
87
|
trivialAssertions: number;
|
|
70
88
|
/** Number of behavioral assertions */
|
|
71
89
|
behavioralAssertions: number;
|
|
90
|
+
/**
|
|
91
|
+
* Number of constant-self-equality stubs (`expect(X).toBe(X)` etc).
|
|
92
|
+
* Subset of trivialAssertions — already counted there. Tracked
|
|
93
|
+
* separately so the violation description can call them out specifically.
|
|
94
|
+
*/
|
|
95
|
+
stubAssertions: number;
|
|
72
96
|
/** Ratio of trivial to total (0–1) */
|
|
73
97
|
trivialRatio: number;
|
|
74
98
|
/** Test function names that contain no behavioral assertion */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-quality.d.ts","sourceRoot":"","sources":["../../src/executor/test-quality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kFAMnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB,6jBA+BtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"test-quality.d.ts","sourceRoot":"","sources":["../../src/executor/test-quality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kFAMnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB,6jBA+BtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,8BAA8B,QAC+C,CAAC;AAW3F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,+BAA+B,EAAE,MAAM,EAAE,CAAC;IAC1C,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB3F;AA8CD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0DjF;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAqF5B"}
|
|
@@ -97,6 +97,24 @@ export const BEHAVIORAL_MATCHERS = [
|
|
|
97
97
|
* Files with >80% trivial assertions are considered low quality.
|
|
98
98
|
*/
|
|
99
99
|
export const TRIVIAL_THRESHOLD = 0.8;
|
|
100
|
+
/**
|
|
101
|
+
* Regex for "constant-self-equality" stubs: `expect(X).toBe(X)`,
|
|
102
|
+
* `expect(X).toEqual(X)`, or `expect(X).toStrictEqual(X)` where the
|
|
103
|
+
* same identifier (possibly with member access like `obj.foo`) appears on
|
|
104
|
+
* both sides. These use behavioral matchers but assert a tautology
|
|
105
|
+
* (X === X) — which is always true and verifies nothing meaningful.
|
|
106
|
+
*
|
|
107
|
+
* Reclassified as trivial in countAssertions(). Triggers an unconditional
|
|
108
|
+
* flag (not just when the file's overall trivial ratio is high) — these
|
|
109
|
+
* patterns are unambiguous stubs and shouldn't ship even when diluted
|
|
110
|
+
* by real assertions elsewhere in the file.
|
|
111
|
+
*
|
|
112
|
+
* Pattern observed in rotulus#17 PR #18 where the agent left
|
|
113
|
+
* `expect(BRAND_COLOR).toBe(BRAND_COLOR)` and similar stubs intact —
|
|
114
|
+
* the previous detector counted them as behavioral and the file passed.
|
|
115
|
+
* See urateam#97 evidence comment.
|
|
116
|
+
*/
|
|
117
|
+
export const CONSTANT_SELF_EQUALITY_PATTERN = /\bexpect\s*\(\s*([\w$][\w$.]*)\s*\)\s*\.(?:toBe|toEqual|toStrictEqual)\s*\(\s*\1\s*\)/g;
|
|
100
118
|
/**
|
|
101
119
|
* Glob-style test file name patterns.
|
|
102
120
|
*/
|
|
@@ -138,15 +156,35 @@ export function extractTestBlocks(content) {
|
|
|
138
156
|
}
|
|
139
157
|
return blocks;
|
|
140
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Counts the number of constant-self-equality stubs in the given content.
|
|
161
|
+
* Resets the regex `lastIndex` defensively since the pattern is /g.
|
|
162
|
+
*/
|
|
163
|
+
function countStubAssertions(content) {
|
|
164
|
+
CONSTANT_SELF_EQUALITY_PATTERN.lastIndex = 0;
|
|
165
|
+
return Array.from(content.matchAll(CONSTANT_SELF_EQUALITY_PATTERN)).length;
|
|
166
|
+
}
|
|
141
167
|
/**
|
|
142
168
|
* Counts how many times each assertion group appears in the given content.
|
|
169
|
+
* Constant-self-equality stubs (e.g. `expect(X).toBe(X)`) are reclassified
|
|
170
|
+
* from behavioral to trivial — they use behavioral matchers but assert a
|
|
171
|
+
* tautology and verify nothing.
|
|
143
172
|
*/
|
|
144
173
|
function countAssertions(content) {
|
|
145
174
|
const trivialPattern = new RegExp(`\\.(?:${TRIVIAL_MATCHERS.join("|")})\\s*\\(`, "g");
|
|
146
175
|
const behavioralPattern = new RegExp(`\\.(?:${BEHAVIORAL_MATCHERS.join("|")})\\s*\\(|\\.(?:rejects|resolves)\\b`, "g");
|
|
147
|
-
const
|
|
148
|
-
const
|
|
149
|
-
|
|
176
|
+
const rawTrivial = (content.match(trivialPattern) ?? []).length;
|
|
177
|
+
const rawBehavioral = (content.match(behavioralPattern) ?? []).length;
|
|
178
|
+
const stubs = countStubAssertions(content);
|
|
179
|
+
// Each stub match was originally counted in the behavioral pool (the
|
|
180
|
+
// matcher is toBe / toEqual / toStrictEqual). Move them to trivial.
|
|
181
|
+
// Math.max guards against arithmetic surprises if the regex ever picks
|
|
182
|
+
// up something the behavioral counter doesn't (unlikely but defensive).
|
|
183
|
+
return {
|
|
184
|
+
trivial: rawTrivial + stubs,
|
|
185
|
+
behavioral: Math.max(0, rawBehavioral - stubs),
|
|
186
|
+
stubs,
|
|
187
|
+
};
|
|
150
188
|
}
|
|
151
189
|
/**
|
|
152
190
|
* Analyzes a single test file for assertion quality.
|
|
@@ -164,13 +202,14 @@ export async function analyzeTestFile(filePath) {
|
|
|
164
202
|
totalAssertions: 0,
|
|
165
203
|
trivialAssertions: 0,
|
|
166
204
|
behavioralAssertions: 0,
|
|
205
|
+
stubAssertions: 0,
|
|
167
206
|
trivialRatio: 0,
|
|
168
207
|
testsWithoutBehavioralAssertion: [],
|
|
169
208
|
isFlagged: false,
|
|
170
209
|
};
|
|
171
210
|
}
|
|
172
211
|
// File-level counts
|
|
173
|
-
const { trivial: trivialAssertions, behavioral: behavioralAssertions } = countAssertions(content);
|
|
212
|
+
const { trivial: trivialAssertions, behavioral: behavioralAssertions, stubs: stubAssertions, } = countAssertions(content);
|
|
174
213
|
const totalAssertions = trivialAssertions + behavioralAssertions;
|
|
175
214
|
const trivialRatio = totalAssertions === 0 ? 0 : trivialAssertions / totalAssertions;
|
|
176
215
|
// Per-test-function check: find tests that have zero behavioral assertions
|
|
@@ -185,12 +224,17 @@ export async function analyzeTestFile(filePath) {
|
|
|
185
224
|
}
|
|
186
225
|
}
|
|
187
226
|
const isFlagged = (totalAssertions > 0 && trivialRatio > TRIVIAL_THRESHOLD) ||
|
|
188
|
-
(testBlocks.length > 0 && testsWithoutBehavioralAssertion.length === testBlocks.length)
|
|
227
|
+
(testBlocks.length > 0 && testsWithoutBehavioralAssertion.length === testBlocks.length) ||
|
|
228
|
+
// Constant-self-equality stubs are unambiguous regression markers — flag
|
|
229
|
+
// even one (the rotulus#17 PR #18 case where 4 such stubs slipped through
|
|
230
|
+
// the diluted-ratio check on a file with otherwise-real assertions).
|
|
231
|
+
stubAssertions > 0;
|
|
189
232
|
return {
|
|
190
233
|
file: filePath,
|
|
191
234
|
totalAssertions,
|
|
192
235
|
trivialAssertions,
|
|
193
236
|
behavioralAssertions,
|
|
237
|
+
stubAssertions,
|
|
194
238
|
trivialRatio,
|
|
195
239
|
testsWithoutBehavioralAssertion,
|
|
196
240
|
isFlagged,
|
|
@@ -224,6 +268,10 @@ export async function checkTestQuality(changedFiles, workdir) {
|
|
|
224
268
|
details.push(`${pct}% of assertions are trivial existence checks ` +
|
|
225
269
|
`(${analysis.trivialAssertions}/${analysis.totalAssertions} are toBeDefined/toBeTruthy/etc.)`);
|
|
226
270
|
}
|
|
271
|
+
if (analysis.stubAssertions > 0) {
|
|
272
|
+
details.push(`${analysis.stubAssertions} constant-self-equality stub(s) — ` +
|
|
273
|
+
`expect(X).toBe(X) / .toEqual(X) tautologies that always pass`);
|
|
274
|
+
}
|
|
227
275
|
if (analysis.testsWithoutBehavioralAssertion.length > 0) {
|
|
228
276
|
const names = analysis.testsWithoutBehavioralAssertion.slice(0, 3).join(", ");
|
|
229
277
|
const extra = analysis.testsWithoutBehavioralAssertion.length > 3
|
|
@@ -247,6 +295,7 @@ export async function checkTestQuality(changedFiles, workdir) {
|
|
|
247
295
|
trivialRatio: analysis.trivialRatio,
|
|
248
296
|
trivialAssertions: analysis.trivialAssertions,
|
|
249
297
|
behavioralAssertions: analysis.behavioralAssertions,
|
|
298
|
+
stubAssertions: analysis.stubAssertions,
|
|
250
299
|
testsWithoutBehavioralAssertion: analysis.testsWithoutBehavioralAssertion.length,
|
|
251
300
|
}, "test-quality: flagged file with low-quality assertions");
|
|
252
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-quality.js","sourceRoot":"","sources":["../../src/executor/test-quality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa;IACb,YAAY;IACZ,WAAW;IACX,UAAU;IACV,eAAe;CACP,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,eAAe;IACf,MAAM;IACN,WAAW;IACX,gBAAgB;IAChB,sBAAsB;IACtB,kBAAkB;IAClB,uBAAuB;IACvB,yBAAyB;IACzB,0BAA0B;IAC1B,SAAS;IACT,SAAS;IACT,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,iBAAiB;IACjB,wBAAwB;IACxB,cAAc;IACd,qBAAqB;IACrB,aAAa;IACb,gBAAgB;IAChB,oBAAoB;IACpB,wBAAwB;IACxB,uBAAuB;IACvB,gBAAgB;IAChB,WAAW;IACX,eAAe;CACP,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,yBAAyB;CAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"test-quality.js","sourceRoot":"","sources":["../../src/executor/test-quality.ts"],"names":[],"mappings":"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"}
|