Debugging با `bats`

Debugging کد Bash خود هنگام آزمایش با bats.


وقتی Testهای مسیر Bash را با Bats اجرا می‌کنید، Bats هم STDOUT و هم STDERR را برای ادعاهای خروجی ثبت می‌کند.

Caution

این کار به‌صورت محلی با bats انجام می‌شود، اما در ویرایشگر آنلاین Exercism کار نمی‌کند.

اگر می‌خواهید خروجی Debug را بدون تأثیر گذاشتن بر نتیجه‌ی Test چاپ کنید، آن را در توصیف‌گر فایل (fd) ۳ بنویسید.

echo 'debug message' >&3

Bats خروجی نوشته‌شده در fd ۳ را در طول اجرای Test نشان می‌دهد، اما آن خروجی را در ادعاهایی مانند assert_output لحاظ نمی‌کند.

نمونه‌ی اجرا:

$ bats hello_world.bats
hello_world.bats
 ✓ Say Hi!
debug message
1 test, 0 failures

این زمانی مفید است که Testها را به‌صورت محلی اجرا می‌کنید.