Cucumber-js: هل يمكننا الحصول على اسم السيناريو في كل خطوة من خطوات التعريف؟

تم إنشاؤها على ٢٠ يونيو ٢٠١٤  ·  7تعليقات  ·  مصدر: cucumber/cucumber-js

التعليق الأكثر فائدة

ما هي أحدث وأفضل طريقة للقيام بذلك الآن؟ الحصول على أسماء الخطوة وما شابه؟

ال 7 كومينتر

تقصد "سيناريو: ها هو الاسم" - تريد استرجاعه متى؟ يمكنك إرفاق مستمع مخصص وخلال حدث BeforeScenario تحصل على حمولة السيناريو وعليها استدعاء getName ()

كيف تفعل ذلك؟ لأن كلاهما يعود "غير محدد".

this.registerHandler('BeforeScenario', function (event, callback) {
  console.log(event.getPayloadItem());
  callback();
});
this.registerHandler('BeforeStep', function (event, callback) {
  console.log(event.getPayloadItem());
  callback();
});

مرحبا ستيوارت ،

جرب مرة أخرى مع هذا الرمز:

// This code is generated from coffeescript so it appears a bit more verbose than needed
this.registerHandler('BeforeScenario', function (event, callback) {
    var scenario = event.getPayloadItem('scenario');
  console.info("\n[" + (scenario.getName()) + "](" + (scenario.getUri()) + ":" + (scenario.getLine()) + ")");
  callback();
});

this.registerHandler('BeforeStep', function (event, callback) {
  var step = event.getPayloadItem('step');
  console.info("\n[" + (step.getName()) + "](" + (step.getUri()) + ":" + (step.getLine()) + ")");
  callback();
});

الحيلة هي أنك تحتاج إلى تقديم وسيطة لـ getPayloadItem() .

وللإجابة على سؤالك ، يجب أن تكون قادرًا على تخزين خصائص سيناريو التشغيل الحالية في كائن خارج معالج BeforeScenario ، ثم استخدامه داخل معالج BeforeScenario.
آمل أن يلمحك هذا إلى الحل الصحيح.

هذا هو تعقب قضية. يرجى إرسال أسئلة الدعم لمجموعة cukes google بدلاً من ذلك.

ما هي أحدث وأفضل طريقة للقيام بذلك الآن؟ الحصول على أسماء الخطوة وما شابه؟

صدم

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات