كيفية تشغيل اختبار السياق shoulda واحد في روبي اختبار وحدة الإطار ::

StackOverflow https://stackoverflow.com/questions/1642034

سؤال

ويمكنني اختبار عادة طريقة الاختبار :: وحدة منتظم باستخدام بناء الجملة سطر الأوامر التالية لطريقة "delete_user_test":

ruby functional/user_controller_test.rb -n delete_user_test

والآن عندما أنا باستخدام البرنامج المساعد shoulda مع اختبار :: وحدة وأنا أحاول أن استخدام نفس الأسلوب كما يلي:

... 
context "Deleting a User" do
  should "remove user from user table" do
    ...
  end
end

وبعد ذلك وأنا أحاول أن تشغيل اختبار واحد كما يلي:

ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table"

وهذا لا يعمل. لا أحد يعرف كيف يمكن تشغيل الاختبارات سياق واحد باستخدام shoulda واختبار :: وحدة. لدي بضعة اختبار مختلفة في ملف اختبار واحد وأريد أن أشغل فقط واحد باستخدام TDD دون الحاجة إلى الانتظار لجميع الاختبارات لتشغيل.

هل كانت مفيدة؟

المحلول

وهذا يعمل بالنسبة لي:

ruby functional/user_controller_test.rb -n "/Deleting a User/"

وضعت للتو بعض سلسلة طويلة إلى حد معقول من اسم سياق الخاص في التعبير العادي.

نصائح أخرى

واستخدام الاسم الكامل للاختبار مع مساحة في نهاية يبدو للعمل أيضا:

ruby -Itest 
     functional/user_controller_test.rb 
     -n "test: Deleting a user should remove user from user table. "

والجمع بين النهجين عملت بشكل جيد بالنسبة لي. باستخدام كل -I test والتعبير العادي.

ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top