Cucumber-js: Bisakah kita mendapatkan Nama Skenario di setiap langkah Definisi Langkah?

Dibuat pada 20 Jun 2014  ·  7Komentar  ·  Sumber: cucumber/cucumber-js

Komentar yang paling membantu

Apa cara terbaru dan terbaik untuk melakukan ini sekarang? Mendapatkan nama langkah dan semacamnya?

Semua 7 komentar

Maksud Anda "Skenario: ini namanya" - Anda ingin mengambilnya kapan? anda dapat melampirkan pendengar khusus dan selama acara BeforeScenario dapatkan muatan skenario dan di atasnya panggil getName()

Bagaimana kamu melakukannya? Karena keduanya mengembalikan 'tidak terdefinisi'.

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

Hai Stewart,

Coba lagi dengan kode ini:

// 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();
});

Triknya adalah Anda perlu memberikan argumen ke getPayloadItem() .

Dan untuk menjawab pertanyaan Anda, Anda harus dapat menyimpan properti skenario yang sedang berjalan di objek di luar pengendali BeforeScenario, lalu menggunakannya di dalam pengendali BeforeStep.
Saya harap ini memberi Anda petunjuk untuk solusi yang tepat.

Ini adalah pelacak masalah. Silakan kirim pertanyaan dukungan ke grup google cukes sebagai gantinya.

Apa cara terbaru dan terbaik untuk melakukan ini sekarang? Mendapatkan nama langkah dan semacamnya?

Menabrak

Apakah halaman ini membantu?
0 / 5 - 0 peringkat