سؤال

أقوم بإنشاء جوهرة

  • عدة نصوص في دليل بن
  • فصول المرافق في دليل 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' 

نصائح أخرى

ألقِ نظرة على جوهرة المجرفة ، إنه مساعد للأحجار الكريمة الأخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top