كيفية تشغيل اختبار السياق shoulda واحد في روبي اختبار وحدة الإطار ::
-
10-07-2019 - |
سؤال
ويمكنني اختبار عادة طريقة الاختبار :: وحدة منتظم باستخدام بناء الجملة سطر الأوامر التالية لطريقة "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/"