كيف يمكنني الوصول إلى أسماء السيناريو والمثال في الخيار؟

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

  •  21-08-2019
  •  | 
  •  

سؤال

وأنا باستخدام الخيار لإنشاء البرامج النصية الاختبار التي يمكن تنفيذها بواسطة أداة أو الإنسان ... لذلك ليس استخدام معيار.

ولكن أود أن تمر عبر أسماء السيناريو وذلك مثلا عن طريق لإخراج بلدي.

هل هذا ممكن؟

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

المحلول

والعثور عليه .. (مع بعض المساعدة من تيم ووكر)

Before do |scenario|
 puts "Before Scenario: #{scenario.to_sexp[2]}"
 .
 .
 .
end

وقد تختلف SExpression لديك، لذلك يستحق القيام scenario.to_sexp.inspect لمعرفة ما هي تلك الشجرة.

واللاعب Aslak حريصة على تجنب تعريض الخصائص على دراسته (الذي هو المقرر الأول أتفق مع، لذلك أنا سعيد للقيام بهذا العمل حول).

نصائح أخرى

والجواب أكثر خطورة (أو على الأقل، اقتراح): الاستفادة من انعكاس روبي في محاولة للعثور على ما كنت أبحث عنه. الاستيلاء على الأشياء المحتمل، ومعرفة ما هي الأساليب لديهم، ومعرفة ما إذا كان يمكنك العثور عليها. على سبيل المثال:

File.open('happy_hunting.log','a') { |f|
    f.print "Scenario supports: #{(scenario.methods - Object.methods).inspect}\n"
    }

وثم كرر ذلك لمعرفة ماذا يكون فيها.

واقتراح آخر، والنظر في المصدر.

وفعلت شيئا غير مترابط. كما يمكنني استخدام هذه المعلومات لتصحيح الأخطاء فقط، وهذا سوف تعمل من الآن، حتى أجد شيئا أفضل.

@Before
public void printTestInfoBeforeScenario(Scenario scenario) {
    LOGGER.info("Upcoming Test: "+scenario.getSourceTagNames());
}

@After
public void printTestInfoAfterScenario(Scenario scenario) {
    LOGGER.info("Test Complete: " + scenario.getSourceTagNames() + " Status: " + scenario.getStatus());
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top