Wallaby برای ایجنتهای کدنویسی: تستهایی که باگ واقعی رو میگیرن
خلاصهٔ کاملتر
تیم Wallaby که ابزار اجرای زندهٔ تست برای جاوااسکریپت و تایپاسکریپته، یه نسخه برای ایجنتهای کدنویسی معرفی کرده. حرف اصلیشون اینه که AI راحت تستهایی مینویسه که سبز میشن ولی تقریباً هیچی رو چک نمیکنن. مثالی که خودشون میزنن: تستی که فقط چک کنه هزینهٔ ارسال تعریف شده، حتی وقتی مبلغ اشتباهه هم پاس میشه. Wallaby قراره کمک کنه ایجنت به جای اینها تستهای باارزش بنویسه.
کار با دو تا دستور اصلی انجام میشه: /wallaby write برای نوشتن تست جدید و /wallaby improve برای قویتر کردن تستهای موجود. تو حالت improve ایجنت assertionهای ضعیف رو محکمتر میکنه، حالتهای مرزی جاافتاده رو اضافه میکنه و تستهای تکراری رو حذف میکنه. یعنی پروژه از تستهای بیفایده پر نمیشه.
چیزی که Wallaby به ایجنت میده، دید دقیق از اجرای تستهاست. ایجنت میبینه هر تست به کدوم expressionها میرسه (coverage در سطح هر تست)، مسیر اجرا رو بین فایلها دنبال میکنه و مقدارهای واقعی runtime رو بررسی میکنه. Wallaby تستهای مرتبط رو هم بعد از هر تغییر خودکار دوباره اجرا میکنه.
هستهٔ کار mutation testing هست، یعنی ایجنت عمداً یه تغییر کوچیک و باگمانند تو کد منبع میده و میبینه تستها خراب میشن یا نه. اگه mutation زنده بمونه یعنی تست اون باگ رو نمیگیره، پس ایجنت assertion رو قویتر میکنه، دوباره امتحان میکنه و آخرش کد رو برمیگردونه. به گفتهٔ تیم Wallaby تو ارزیابیهای داخلی خودشون (Wallaby Bench)، ایجنتها با Wallaby تا ۴۰ درصد نتیجهٔ بهتری نسبت به اجرای تست فقط با Vitest یا Jest گرفتن. این امتیاز ترکیبی از کیفیت کد و تست، سرعت و مصرف توکنه، و چون داخلی اندازهگیری شده باید با احتیاط بهش نگاه کرد.
ایجنتهایی که skill رو پشتیبانی میکنن، مثل Claude Code، Codex، GitHub Copilot، Cursor، OpenCode و Pi، میتونن ازش استفاده کنن. فریمورکهای پشتیبانیشده Jest، Vitest، node:test، Mocha، Jasmine، AVA، QUnit و Karma هستن و نسخهٔ پایتون هم با pytest و unittest تو بتاست. تو دورهٔ بتا دسترسی CLI محلی رایگانه، ولی کانتینر و ایجنتهای ابری حتی با لایسنس هم یه CLI token لازم دارن.
نکات کلیدی:
- دو دستور اصلی: /wallaby write برای تست جدید و /wallaby improve برای قویتر کردن تستهای موجود.
- ایجنت با mutation testing چک میکنه تستها باگهای واقعی رو میگیرن یا نه.
- طبق بنچمارک داخلی Wallaby Bench تا ۴۰ درصد بهبود نسبت به Vitest یا Jest تنها گزارش شده.
- از JS و TS با Jest، Vitest، Mocha و چند فریمورک دیگه پشتیبانی میکنه و نسخهٔ پایتون تو بتاست.
- تو بتا CLI محلی رایگانه ولی کانتینر و ایجنت ابری CLI token میخوان.




