Cucumber-js: рдореЗрд░реЗ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рджреГрд╢реНрдп Cucumber.js рдореЗрдВ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рджрд┐рд╕ре░ 2015  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: cucumber/cucumber-js

рдирдорд╕реНрддреЗ,

рдореЗрд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдХреИрд╕реЗ рдЬрд╛рдиреЗрдВ? рдореЗрд░реЗ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ?

рдЕрд╕рд▓ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ:

Feature: create module feature
  As a admin
  I want to use create module

  <strong i="8">@createModule</strong>
  Given I am logged as 'ADMIN'
    And I am on "/admin/create"
   Then The "book_id" field should be empty

рдореИрдВ рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЕрдкрдиреЗ рдЯреИрдЧ @createModule рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдлрд┐рд░:

this.Then(/^The "?([^"]*)"? field should be empty$/, function (el) {

    if (myModule === @createModule) {
        ...
    } else if {
        ...
    }

    return main_po.checkIsEmptyElement(this, el);
});

рдореИрдВ рдЕрдкрдирд╛ рдЯреИрдЧ @createModule рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп, рдпрд╛ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд▓ рдХрд┐рдпрд╛ :

рдореИрдВрдиреЗ рдЬреЛрдбрд╝рд╛ :

this.Before(function (scenario, callback) {
    var tags = scenario.getTags();

    this.current_module = tags[0].getName();

    callback();
});

рдФрд░ рдореЗрд░рд╛ рдХрд╛рд░реНрдп:

this.Then(/^The "?([^"]*)"? field should be empty$/, function (el) {

    if (this.current_module === @createModule) {
        ...
    } else if {
        ...
    }

    return main_po.checkIsEmptyElement(this, el);
});

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреМрди рд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдЪрд▓рд╛рдирд╛ рд╣реИ, рдпрд╣ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд░реАрдбрдореЗ рджреЗрдЦреЗрдВ)ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЗ рдкрд╛рд╕ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рддрд╣рдд рд╕рднреА рдЪрд░рдг рдПрдХ рд╡рд┐рд╢реНрд╡ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗ (рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ this рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдБрдЪрд╛)ред

рд╣рд▓ рдХрд┐рдпрд╛ :

рдореИрдВрдиреЗ рдЬреЛрдбрд╝рд╛ :

this.Before(function (scenario, callback) {
    var tags = scenario.getTags();

    this.current_module = tags[0].getName();

    callback();
});

рдФрд░ рдореЗрд░рд╛ рдХрд╛рд░реНрдп:

this.Then(/^The "?([^"]*)"? field should be empty$/, function (el) {

    if (this.current_module === @createModule) {
        ...
    } else if {
        ...
    }

    return main_po.checkIsEmptyElement(this, el);
});

@jechazelle рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :)

рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ 3.2.1 рдореЗрдВ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

Before({timeout: 20000}, async function(testCase) {
  this.tags = testCase.pickle.tags.map((tag) => tag.name);`
  ...
}

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЪрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдЬреНрдЮрд╛рдд рд╕рдмрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рджреЛрд╖ рдЯрд┐рдХрдЯ рдмрдирд╛рдпрд╛ рд╣реИ, рдЯрд┐рдХрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЯреИрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рддрд░реНрдХ рдЬреЛрдбрд╝рд╛ рд╣реИ рдЪрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ 'рд▓рдВрдмрд┐рдд' рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдпрджрд┐ this.tags рдореЗрдВ рдЯрд┐рдХрдЯ рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рдпрд╣ рдмрд┐рд▓реНрдб рдХреЛ рд╡рд╛рдкрд╕ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╢рдХреНрддрд┐рдпрд╛рдВ рддрдп рдХрд░рддреА рд╣реИрдВ рдХрд┐ рд╡реЗ рджреЛрд╖ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреГрдкрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dblooman picture dblooman  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

travi picture travi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

igniteram picture igniteram  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

protoman92 picture protoman92  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arjunjh10 picture arjunjh10  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ