From 5c5772be7e64f5cbf580760f290a3fac7bc1867b Mon Sep 17 00:00:00 2001 From: Katie Byers Date: Wed, 2 Feb 2022 07:14:30 -0800 Subject: [PATCH] make CLS web vital test less flaky --- .../suites/tracing/metrics/web-vitals-cls/test.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/integration-tests/suites/tracing/metrics/web-vitals-cls/test.ts b/packages/integration-tests/suites/tracing/metrics/web-vitals-cls/test.ts index ed63f550bc43..5513f490c41c 100644 --- a/packages/integration-tests/suites/tracing/metrics/web-vitals-cls/test.ts +++ b/packages/integration-tests/suites/tracing/metrics/web-vitals-cls/test.ts @@ -37,6 +37,12 @@ sentryTest('should capture a "POOR" CLS vital with its source(s).', async ({ get expect(eventData.measurements).toBeDefined(); expect(eventData.measurements?.cls?.value).toBeDefined(); - expect(eventData.measurements?.cls?.value).toBeCloseTo(0.35); + // This test in particular seems to be flaky, such that the received value is frequently within 0.006 rather than the + // 0.005 that `toBeCloseTo()` requires. While it's true that each test is retried twice if it fails, in the flaky + // cases all three attempts always seem to come up with the exact same slightly-too-far-away number. Rather than ramp + // down `toBeCloseTo()`'s precision (which would make it accept anything between 0.30 and 0.40), we can just do the + // check manually. + expect(eventData.measurements?.cls?.value).toBeGreaterThan(0.34); + expect(eventData.measurements?.cls?.value).toBeLessThan(0.36); expect(eventData.tags?.['cls.source.1']).toBe('body > div#content > p'); });