آزمون‌ها روی رایانه‌ی شما قبول می‌شوند اما آنلاین نه؟

بیاموزید وقتی آزمون‌ها روی رایانه‌ی شما قبول می‌شوند اما آنلاین نه، چه باید بکنید.


گاهی اوقات تست‌های شما روی دستگاه خودتان به‌صورت محلی پاس می‌شوند اما آنلاین پاس نمی‌شوند.

معمولاً چند دلیل برای این موضوع وجود دارد:

همه‌ی تست‌ها را از حالت رد درنیاورده‌اید

بسیاری از تمرین‌های Exercism همراه با چند تست ردشده ارائه می‌شوند. هدف این است که هر تست را به ترتیب حل کنید و هر بار تست بعدی را از حالت رد درآورید. تا زمانی که به پایان تمرین می‌رسید، همه‌ی تست‌ها باید از حالت رد درآمده باشند و پاس شوند تا یک راه‌حل کاملاً کارآمد داشته باشید. برای جزئیات مشخص درباره‌ی نحوه‌ی رد کردن تست‌ها در آن زبان، مستندات ترکی که روی آن کار می‌کنید را ببینید.

وقتی تست‌ها را آنلاین اجرا می‌کنیم، اول همه را از حالت رد درمی‌آوریم. بنابراین اگر همه را به‌صورت محلی از حالت رد درنیاورده باشید، ممکن است به حالت‌های مرزی‌ای بربخوریم که به آن‌ها توجه نکرده‌اید و تست‌ها شکست می‌خورند.

ما از نسخه‌های متفاوتی نسبت به هم استفاده می‌کنیم

test runnerهای Exercism از نسخه‌ی مشخصی از زبان استفاده می‌کنند. ممکن است به‌روزترین نسخه‌ی زبان نباشد، چون وقتی نسخه‌های جدید زبان منتشر می‌شوند، باید test runnerهایمان را به‌صورت دستی به‌روزرسانی کنیم.

اگر تست‌ها آنلاین شکست می‌خورند، لطفاً خروجی را بررسی کنید (با کلیک روی واژه‌ی «Failed») و ببینید چه چیزی ممکن است اشتباه باشد. اگر تشخیص دادید که مشکل به ناهمخوانی نسخه‌ها برمی‌گردد، لطفاً یک issue در مخزن test runner مربوطه روی GitHub باز کنید. نشانی آن معمولاً از الگوی https://github.com/exercism/$SLUG-test-runner پیروی می‌کند (مثلاً https://github.com/exercism/ruby-test-runner).