اختبار روبي جوهرة قبل النشر
سؤال
أقوم بإنشاء جوهرة
- عدة نصوص في دليل بن
- فصول المرافق في دليل LIB
- والعديد من الاختبارات في دليل الاختبار
supertool bin toolA toolB lib supertool supertool.rb helper.rb test tc_main.rb tc_etc.rb
الآن ، لتشغيل الاختبارات قبل تثبيت الجوهرة ، لدي المقتطف التالي في الجزء العلوي من الاختبارات الخاصة بي:
base = File.basename(Dir.pwd)
if base == 'test' || base =~ /supertool/
Dir.chdir('..') if base == 'test'
$LOAD_PATH.unshift(Dir.pwd + '/lib')
Dir.chdir('test') if base =~ /supertool/
end
يبدو هذا مملاً ، خاصةً إذا كان عليّ وضعها في البرامج النصية في دليل BIN أيضًا. هل هناك طريقة أفضل لإعداد البيئة حتى نتمكن من اختبار الأحجار الكريمة قبل تثبيتها؟ أنا متأكد من أنه شيء بسيط لا يمكنني العثور عليه. رابط بسيط إلى المكان الصحيح من شأنه أن يساعد كثيرًا :)
المحلول
لست متأكدًا مما تحاول تحقيقه بهذا البرنامج النصي. لا يبدو أن له أي علاقة بالأحجار الكريمة ...
هل يمكنك الجري ruby tc_main.rb
من داخل دليل الاختبار (أو ruby test/tc_main.rb
من القاعدة DIR) ، وقام بتعيين مسار الحمل بشكل مناسب؟ إذا كان الأمر كذلك ، فإليك طريقة أجمل بكثير:
في دليل الاختبار الخاص بك ، قم بإنشاء أ test_helper.rb
ملف. في هذا الملف ، ضع هذا
$LOAD_PATH << File.expand_path( File.dirname(__FILE__) + '/../lib' )
وفي جميع ملفات الاختبار ، قم بتعيين السطر الأول على
require 'test_helper'
إذا كان لديك دليل فرعي داخل الاختبار الخاص بك ، فيمكن أن تفعل الملفات الموجودة في تلك الفرعية
require '../test_helper'
نصائح أخرى
ألقِ نظرة على جوهرة المجرفة ، إنه مساعد للأحجار الكريمة الأخرى.