RUBYTEST(1) RUBYTEST(1)

rubytest - اجرای آزمون‌های روبی از طریق رابط برنامه‌نویسی rubytest

دستور rubytest یک رابط خط فرمان برای اجرای آزمون‌های چارچوب‌های آزمون مبتنی بر RubyTest است.

ابزار خط فرمان rubytest از بسیاری از قواعد متداول پیروی می‌کند، بنابراین استفاده از آن بسیار ساده است. گزینهٔ -h/--help برای مشاهدهٔ جزئیات تمام گزینه‌های آن در دسترس است. در اینجا یک مثال پایه‌ای از نحوهٔ استفاده آورده شده است.

$ rubytest -Ilib test/*_test.rb

این دستور lib را به $LOAD_PATH روبی افزوده و سپس تمام فایل‌های آزمون منطبق با الگوی test/*_test.rb را بارگذاری می‌کند.

هنگام اجرای آزمون‌ها، باید مطمئن شوید که چارچوب آزمون خود یا تطبیق‌دهندهٔ (adapter) Ruby Test چارچوبتان بارگذاری شده باشد. این کار معمولاً از طریق یک اسکریپت کمکی درون فایل‌های آزمون انجام می‌شود، اما می‌تواند از طریق گزینه‌های خط فرمان نیز انجام شود؛ مانند:

$ rubytest -r lemon -r ae test/test_*.rb

مسلماً، نوشتن مکرر چنین دستور طویلی می‌تواند خسته‌کننده شود. این مسئله را می‌توان از طریق یک فایل پیکربندی حل کرد. برای بهره‌گیری از این قابلیت، یک فایل etc/test.rb به پروژه اضافه کرده و مدخل‌های Test.run (نام مستعاری برای Test.configure) را در آن قرار دهید.

Test.run do |r|
  r.loadpath ´lib´
  r.test_files << ´test/*_test.rb´
end
Test.run ´coverage´ do |r|
  r.loadpath ´lib´
  r.test_files << ´test/*_test.rb´
  r.before do
    require ´simplecov´
    Simplecov.setup do |s|
      s.filter ´test/´
      s.command_name File.basename($0)
      s.coverage_dir ´log/coverage´
    end
    # to ensure proper coverage
    require ´myapp´
  end
end

اکنون هنگام استفاده از rubytest، اولین پیکربندی اعمال خواهد شد. برای استفاده از پیکربندی ´coverage´ از گزینهٔ -p/--profile استفاده کنید.

$ rubytest -p coverage

به این ترتیب، یک پروژه می‌تواند چندین پیکربندی آزمون مختلف داشته باشد و انتخاب میان آن‌ها آسان خواهد بود.

توجه داشته باشید که در مثال بالا می‌شد به‌جای Test.run از Test.configure استفاده کرد؛ هر دوی آن‌ها عملکرد یکسانی دارند. اما از Test.run! استفاده نکنید، زیرا موجب اجرای فوری آزمون‌ها می‌شود.

فایل پیکربندی می‌تواند به‌جای etc در دایرکتوری config قرار گیرد که برای پروژه‌های Rails بسیار مناسب است. اما اگر ترجیح می‌دهید فایلی در ریشهٔ پروژه داشته باشید، می‌توانید به‌جای آن از Testfile یا .test نیز استفاده کنید. تمامی این مکان‌ها صرفاً به این دلیل پشتیبانی می‌شوند که هیچ قرارداد پیکربندی واحدی در جامعهٔ روبی تثبیت نشده است. با این وجود، ما استفاده از etc/test.rb را اکیداً توصیه می‌کنیم؛ در نهایت به نظر می‌رسد این بهترین قرارداد کلی باشد.

rubytest [options] [files ...]

  • -p --profile <NAME> استفاده از نمایهٔ پیکربندی.
  • -f --format <NAME> قالب گزارش.
  • y --tapy میان‌بر برای -f tapy.
  • -j --tapj میان‌بر برای -f tapj.
  • -t --tag <TAG> انتخاب آزمون‌ها بر اساس برچسب.
  • -u --unit <TAG> انتخاب آزمون‌ها بر اساس واحد نرم‌افزاری.
  • -m --match <TEXT> انتخاب آزمون‌ها بر اساس شرح/توضیحات.
  • -A --autopath افزودن خودکار مسیرها به $LOAD_PATH.
  • -I --loadpath <PATH> افزودن مسیر داده‌شده به $LOAD_PATH.
  • -C --chdir <DIR> تغییر دایرکتوری پیش از اجرای آزمون‌ها.
  • -R --chroot تغییر به دایرکتوری ریشهٔ پروژه پیش از اجرای آزمون‌ها.
  • -r --require <FILE> بارگذاری فایل مورد نیاز (require).
  • -c --config <FILE> استفاده از فایل پیکربندی جایگزین.
  • -V --verbose ارائهٔ جزئیات بیشتر در گزارش‌ها.
  • --[no-]ansi فعال/غیرفعال کردن رنگ‌های ANSI.
  • --debug فعال کردن حالت اشکال‌زدایی.
  • --about نمایش اطلاعاتی دربارهٔ rubytest.
  • --version نمایش نسخهٔ rubytest.
  • -h --help نمایش این پیام راهنما.

نرم‌افزار rubytest یک نرم‌افزار متن‌باز دارای کپی‌رایت است.

Copyright (c) 2013 Rubyworks. All rights reserved.

این برنامه بر اساس شرایط مجوز BSD-2-Clause قابل بازتوزیع و تغییر است.

ruby(1)

July 2014