Absolute Deflake — Sửa test flaky từ gốc
Phát hiện test không xác định bằng cách chạy lặp/xáo trộn/song song, chẩn đoán nguyên nhân gốc và sửa thật thay vì retry hay skip.
Lập trìnhTrung cấp★ 208⑂ 29Điểm AI 9/10Cập nhật lần cuối: 6 thg 7, 2026
Làm được gì
- Chạy bộ test N lần, xáo trộn thứ tự, so sánh chạy riêng lẻ với chạy toàn bộ/song song để đo tỉ lệ fail thực tế của từng test.
- Chẩn đoán theo 7 nguyên nhân phổ biến: thứ tự test/state dùng chung, phụ thuộc thời gian, race async thiếu await, random không seed, I/O mạng, thứ tự collection, rò rỉ tài nguyên/port.
- Cấm các cách chữa cháy: thêm retry, tăng timeout,
sleep, skip test. Sau khi sửa nguyên nhân, xác minh lại bằng nhiều lần chạy ngẫu nhiên. - Phân loại rủi ro 3 mức; nếu flaky thực chất là race trong code sản phẩm thì đánh dấu riêng để sửa đúng chỗ.
Phù hợp với ai
- Nhóm có CI đỏ thất thường, mất niềm tin vào pipeline.
- Dev cần dọn đống annotation
retry/skip/flakytích tụ trong test cũ. - Người dùng Jest/Vitest, pytest hoặc Go test gặp cảnh "local pass, CI fail".
Ví dụ sử dụng
- Gọi "absolute deflake" cho suite thanh toán: chạy 20 lần shuffle, phát hiện một test fail 35% do fixture DB không reset, rồi sửa teardown.
- Nói "test này fail ngẫu nhiên trên CI": skill thay đồng hồ thật bằng fake timer và đổi
sleepthành chờ điều kiện. - Với project Go, xác minh bằng
go test -count=50 -shuffle=on -race ./...và sửa lỗi tái dùng port bằng cách cấp port động.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/maddhruv/absolute/HEAD/skills/absolute-deflake/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/absolute-deflake từ repo GitHub maddhruv/absolute vào ~/.claude/skills/absolute-deflake/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/maddhruv/absolute.git && mkdir -p ~/.claude/skills && cp -r absolute/skills/absolute-deflake ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
placeholder
Xem mã nguồn trên GitHub ↗Giấy phép: MIT