<p>рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдирд╣реАрдВ рдвреВрдБрдврддрд╛</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдЬрдире░ 2017  ┬╖  48рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: cucumber/cucumber-js

рдирдорд╕реНрддреЗ, рдореИрдВ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реА рдХрджрдо рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдВрдЯреЛрдВ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдпрд╣ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдВред

рд╕реБрд╡рд┐рдзрд╛рдУрдВ/foo.feature рдореЗрдВ:

Feature: Foo
  Scenario: Bar
    Given FooBar

рд╕реБрд╡рд┐рдзрд╛рдУрдВ/step_definitions/step_defs.js рдореЗрдВ:

var {defineSupportCode} = require('cucumber');

defineSupportCode(function({Given}) {
    Given('FooBar', function () {
      return 'pending';
    });    
});

рдореБрдЭреЗ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:

Feature: Foo

  Scenario: Bar
  ? Given FooBar

Warnings:

1) Scenario: Bar - features\foo.feature:2
   Step: Given FooBar - features\foo.feature:3
   Message:
     Undefined. Implement with the following snippet:

       Given('FooBar', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

1 scenario (1 undefined)
1 step (1 undefined)
0m00.000s

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

рдареАрдХ рд╣реИред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИред

рдлрд╝реАрдЪрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрд░реЗ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЕрднреА рднреА рдХрдХрдбрд╝реА рдХреА рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерди рдХреЛрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдИ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрде рдореЗрдВ "./node_modules/.bin" рдЬреЛрдбрд╝рдХрд░ рдореИрдХ рдкрд░ рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдореИрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рднреА рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рди рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рдкрде рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВ рдЗрд╕рдореЗрдВ рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рддреНрд░реБрдЯрд┐ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдЖрдк рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдХрд╛ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдпрд╣ рдХрд╣рддрд╛ рд╣реИ 2.0.0-rc.6

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдФрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдХрдХрдбрд╝реА рдХреЗ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЪрд▓рд╛ рд░рд╣реА рд╣реИред рдЬреЗрдПрд╕
рдореИрдВ рдПрдХ рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЕрдЯрдХ рдЧрдпрд╛ред

/рдлреАрдЪрд░реНрд╕/рдРрдб-рдЖрдЗрдЯрдо.рдлреАрдЪрд░

Feature: Shopper can add an item to their Grocery List
  As a grocery shopper
  I want to add an item to my grocery list
  So that I can remember to buy that item at the grocery store

  Scenario: Item added to grocery list
    Given I have an empty grocery list
    When I add an item to the list
    Then The grocery list contains a single item

  Scenario: Item accessible from grocery list
    Given I have an empty grocery list
    When I add an item to the list
    Then I can access that item from the grocery list`

/features/step_definitions/add-item.steps.js
'use strict';

module.exports = function() {

    Given('I have an empty grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });


    When('I add an item to the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

    Then('The grocery list contains a single item', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

    Then('I can access that item from the grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

}

$ node_modules/.bin/cucumber-js рд░рд┐рдЯрд░реНрди

Feature: Shopper can add an item to their Grocery List

    As a grocery shopper
    I want to add an item to my grocery list
    So that I can remember to buy that item at the grocery store

  Scenario: Item added to grocery list
  ? Given I have an empty grocery list
  ? When I add an item to the list
  ? Then The grocery list contains a single item

  Scenario: Item accessible from grocery list
  ? Given I have an empty grocery list
  ? When I add an item to the list
  ? Then I can access that item from the grocery list

Warnings:

1) Scenario: Item added to grocery list - features/add-item.feature:6
   Step: Given I have an empty grocery list - features/add-item.feature:7
   Message:
     Undefined. Implement with the following snippet:

       Given('I have an empty grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

2) Scenario: Item added to grocery list - features/add-item.feature:6
   Step: When I add an item to the list - features/add-item.feature:8
   Message:
     Undefined. Implement with the following snippet:

       When('I add an item to the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

3) Scenario: Item added to grocery list - features/add-item.feature:6
   Step: Then The grocery list contains a single item - features/add-item.feature:9
   Message:
     Undefined. Implement with the following snippet:

       Then('The grocery list contains a single item', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

4) Scenario: Item accessible from grocery list - features/add-item.feature:11
   Step: Given I have an empty grocery list - features/add-item.feature:12
   Message:
     Undefined. Implement with the following snippet:

       Given('I have an empty grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

5) Scenario: Item accessible from grocery list - features/add-item.feature:11
   Step: When I add an item to the list - features/add-item.feature:13
   Message:
     Undefined. Implement with the following snippet:

       When('I add an item to the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

6) Scenario: Item accessible from grocery list - features/add-item.feature:11
   Step: Then I can access that item from the grocery list - features/add-item.feature:14
   Message:
     Undefined. Implement with the following snippet:

       Then('I can access that item from the grocery list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

2 scenarios (2 undefined)
6 steps (6 undefined)
0m00.000s

рдЗрд╕ рд╕рдордп рдХреЛрдИ world.js рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред

@ рдбрдирд▓рдк-рдмреЗрди рдХреГрдкрдпрд╛ 1.0 рдФрд░ 2.0 рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреИрдВрдЬ рджреЗрдЦреЗрдВред рдЪрд░рдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг 1.0 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

@jeffmath рдореБрдЭреЗ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдлреАрдЪрд░ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВред рдореИрдХ рдкрд░ рдкреБрдирд░реБрддреНрдкрд╛рджрди, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХрд┐рд╕ рдиреЛрдб рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ? рдФрд░ рд░рд╛рд╕реНрддреЛрдВ рд╕реЗ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдкрд░ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╣реИ?

@charlierudolph - рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ: http://cucumber.github.io/cucumber-js/

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдореБрдЭреЗ рдПрдХ рдХрджрдо рдФрд░/рдпрд╛ рдлрд╛рдЗрд▓реЗрдВ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИрдВред рдЕрдЧрд░ рдХрд╣реАрдВ рднреА рдЖрдк рдореБрдЭреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЧреАрдереВрдм рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХрд╛ рдмрд╣реБрдд рд╕реМрднрд╛рдЧреНрдп рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

@charlierudolph Node 6.4.0 рд╡рд┐рдВрдбреЛрдЬ 7 рдкрд░

@charlierudolph рдореБрдЭреЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ https://github.com/cucumber/cucumber-js/blob/master/docs/nodejs_example.md рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИред

рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рд╣реИ

  • рдиреЛрдб 7.4.0
  • рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬ 10
  • рдЦреАрд░рд╛ 2.0.0 -рдЖрд░рд╕реА.6

@jeffmath @TheAdamW рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдкрд░ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкрд╡рд┐рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд╣рд░ рд╕рдВрднрд╡ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ ./node_modules/.bin/cucumberjs рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд cucumberjs (рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 2.0.0-rc.6 )

рдпрд╣рд╛рдВ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИ: рдХрдХрдбрд╝реА рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдиреЗ рд╕реЗ linux рдореЗрдВ рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИред

  • рдиреЛрдб. 4.4.0 рдФрд░ 4.6
  • рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬ 10
  • рдЦреАрд░рд╛ 2.0.0 -рдЖрд░рд╕реА.6

рдХреНрдпрд╛ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдкрде/рдлрд╝реЛрд▓реНрдбрд░/рдкреИрдЯрд░реНрди рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
BTW @MartinDellille рдХреА рдЪрд╛рд▓ рдореЗрд░реЗ рдХрд╛рдо рдирд╣реАрдВ рдЖрдИред

рдореБрдЭреЗ рдЕрдЪрд╛рдирдХ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдХрдХрдбрд╝реА рдЖрдЬ рд╕реБрдмрд╣ рддрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реА рдереАред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред

рдореИрдВ рд░реВрдмреА рдЦрд╛рди рдкрд░ рд░рд╛рдЗрдЯрдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ cucumber -r features/chatstep.feature рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд╡рд┐рдзрд╛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рджрд┐рдпрд╛ рдЧрдпрд╛ (/^ рдореИрдВрдиреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ "([^"]*)"$/) do |arg1|
рд▓рдВрдмрд┐рдд # рдпрд╣рд╛рдВ рдХреЛрдб рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ рдареЛрд╕ рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ
рд╕рдорд╛рдкреНрдд

рдореБрдЭреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1.3.1 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдпрд╣ рд╕реЗрдВрдЯреЛрд╕ рдореЗрдВ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

25 рдЬрдирд╡рд░реА 2017 21:32 рдХреЛ, "рдореГрддреНрдпреБрдВрдЬрдпрдВ рдПрд╕" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореБрдЭреЗ рдЕрдЪрд╛рдирдХ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдХрдХрдбрд╝реА рдареАрдХ рдереА
рдЖрдЬ рд╕реБрдмрд╣ рддрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ
рдЗрд╕рдХреЗ рд╕рд╛рдеред

рдореИрдВ рд░реВрдмреА рдЦрд╛рди рдкрд░ рд░рд╛рдЗрдЯрдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд╡рд┐рдзрд╛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ
рдХрдорд╛рдВрдб Cucumber -r features/chatstep.feature рдореБрдЭреЗ рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/cucumber/cucumber-js/issues/718#issuecomment-275224435 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ALjDKMNdggk1Gh-x_q3KRuvlpN5f_0cOks5rV7E9gaJpZM4LhJZO
.

@jbgraug :

рдореИрдВрдиреЗ рдЖрд░рд╕реА 2.0.6 рдФрд░ рдЖрд░рд╕реА 2.0.0 рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдореИрдВ рдЗрд╕реЗ linux or . рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛
рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрдХрдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдереА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдирд╣реАрдВ
-рдЖрд░ рд╡рд┐рдХрд▓реНрдкред

рдЧреБрд░реБ, 26 рдЬрдирд╡рд░реА, 2017 рдХреЛ рд╕реБрдмрд╣ 6:18 рдмрдЬреЗ, рдореГрддреНрдпреБрдВрдЬрдпрди рдПрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@jbgraug https://github.com/jbgraug : рдЖрдкрдиреЗ рдХреНрдпрд╛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛? рдЙрд░ рдХреНрдпрд╛ рдерд╛
рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛ рдкрд┐рдЫрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/cucumber/cucumber-js/issues/718#issuecomment-275310070 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ALjDKGbyYXvsjlLv-dlz6bnHMfPK7t05ks5rWCypgaJpZM4LhJZO
.

@jbgraug рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдХрдбрд╝реА рдиреЗ рд╕рдВрд╕реНрдХрд░рдг 2.0 рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ gherkin рдЧрдП fetching gherkin рдХрд╣рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ 2.0 рд╕реЗ рдКрдкрд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрднреА рдирд╣реАрдВ рджреЗрдЦрд╛

@ рдЖрдкрдХреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдФрд░ рдЯреЗрд╕реНрдЯ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рдХрдХрдбрд╝реА-рд░реВрдмреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдмрдХрд┐ рдпреЗ рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдкрдиреА рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрдХрдбрд╝реА рдврд╛рдВрдЪреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЙрдирдореЗрдВ рдХрдИ рдЕрдВрддрд░ рд╣реИрдВред

@charlierudolph рдореЗрдВ рдХрджрдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░рд╛ рдмреБрд░рд╛, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА, рдХрдХрдбрд╝реА-рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг рд╕рднреА рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдП рдЧрдП рдереЗред рдореБрдЭреЗ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рд╡реИрд╕реЗ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

@charlierudolph рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ @MartinDelille рдиреЗ рдХрд╣рд╛, рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ npm -S рдХреЗ рд╕рд╛рде ./node_modules/.bin/cucumber.js , рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ npm -g рдХреЗ рд╕рд╛рде /usr/local/bin/cucumber.js , рдпрд╣ рдкрд╛рддрд╛ рд╣реИ рдФрд░ рдХрджрдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред

macOS + Node.js 7.5.0 + Cucumber.js 2.0.0-rc.7
windows specific рд▓реЗрдмрд▓ рднреНрд░рд╛рдордХ рд╣реИ

@kozhevnikov рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдм рддрдХ рдХреА рд╕рднреА рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдереАрдВ (рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдореИрдХ рдкрд░ рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛) рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЕрдм рдореИрдВ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд╕рд╛рдЗрдЧрд╡рд┐рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рд╢рд╛рдпрдж рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореИрдВрдиреЗ рд╕реАрдзреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреЛрдб рднреА рдХреЙрдкреА рдХрд┐рдпрд╛ред

рдлрд╝реАрдЪрд░: рд╕рд░рд▓ рдЧрдгрд┐рдд
рдЧрдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ
рдореИрдВ рдЪрд░ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ

рдкрд░рд┐рджреГрд╢реНрдп: рдЖрд╕рд╛рди рдЧрдгрд┐рдд
1 . рдкрд░ рдПрдХ рдЪрд░ рд╕реЗрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЬрдм рдореИрдВ рдЪрд░ рдХреЛ 1 . рд╕реЗ рдмрдврд╝рд╛рддрд╛ рд╣реВрдВ
рдлрд┐рд░ рдЪрд░ рдореЗрдВ 2 . рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдкрд░рд┐рджреГрд╢реНрдп рд░реВрдкрд░реЗрдЦрд╛: рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рд╛рдордЧреНрд░реА
рдПрдХ рдЪрд░ рд╕реЗрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛

Examples:
  | var | increment | result |
  | 100 |         5 |    105 |
  |  99 |      1234 |   1333 |
  |  12 |         5 |     18 |

Cucumber.defineSupportCode (рдлрд╝рдВрдХреНрд╢рди (рд╕рдВрджрд░реНрдн) {
рд╡рд░ рд╕реЗрдЯрд╡рд░реНрд▓реНрдб рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ = рд╕рдВрджрд░реНрдн.рд╕реЗрдЯрд╡рд░реНрд▓реНрдб рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░;
рд╡рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ = рд╕рдВрджрд░реНрднред рджрд┐рдпрд╛ рдЧрдпрд╛
рд╡рд░ рдЬрдм = рд╕рдВрджрд░реНрднред рдЬрдм
рд╡рд░ рддрдм = рд╕рдВрджрд░реНрднред рддрдм

///// рддреБрдореНрд╣рд╛рд░реА рджреБрдирд┐рдпрд╛ /////
//
// рдЕрдкрдиреА рдХрд╕реНрдЯрдо рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде 'setWorldConstructor' рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ)
//

рд╡рд░ рдХрд╕реНрдЯрдорд╡рд░реНрд▓реНрдб = рдлрд╝рдВрдХреНрд╢рди () {};

CustomWorld.prototype.variable = 0;

CustomWorld.prototype.setTo = function(number) {
this.variable = parseInt (рд╕рдВрдЦреНрдпрд╛);
};

CustomWorld.prototype.incrementBy = function(number) {
рдпрд╣ред рдкрд░рд┐рд╡рд░реНрддрдиреАрдп + = parseInt (рд╕рдВрдЦреНрдпрд╛);
};

рд╕реЗрдЯрд╡рд░реНрд▓реНрдб рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдХрд╕реНрдЯрдорд╡рд░реНрд▓реНрдб);

///// рдЖрдкрдХреА рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ /////
//
// рд╕реНрдЯреЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 'рджрд┐рдП рдЧрдП', 'рдХрдм' рдФрд░ 'рддрдм' рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ
//

рджрд┐рдпрд╛ рдЧрдпрд╛ (/^ рдПрдХ рдЪрд░ рд╕реЗрдЯ (\d+)$/, рдлрд╝рдВрдХреНрд╢рди (рд╕рдВрдЦреНрдпрд╛) {
this.setTo (рд╕рдВрдЦреНрдпрд╛);
});

рдХрдм(/^рдореИрдВ (\d+)$/, function(number) { рджреНрд╡рд╛рд░рд╛ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реВрдВ
this.incrementBy (рд╕рдВрдЦреНрдпрд╛);
});

рддрдм(/^рдЪрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (\d+)$/, function(number) {
рдЕрдЧрд░ (рдпрд╣ред рдкрд░рд┐рд╡рд░реНрддрдиреАрдп! = parseInt (рд╕рдВрдЦреНрдпрд╛))
рдирдИ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреЗрдВ ('рдЪрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП' + рд╕рдВрдЦреНрдпрд╛ +
' рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ '+ this.variable +'ред');
});
})

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ "рд╕рдВрджрд░реНрдн рддреНрд░реБрдЯрд┐: рджрд┐рдпрд╛ рдЧрдпрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ"
рдореИрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХрдХрдбрд╝реА.рдЬреЗрдПрд╕ рдФрд░ ~/node_modules/.bin/cucumber.js рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИред рдореИрдВ рд░реВрдмреА рдХреЗ рд╕рд╛рде рдХрдХрдбрд╝реА рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХрдбрд╝реА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ

рдареАрдХ рд╣реИред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИред

рдлрд╝реАрдЪрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрд░реЗ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЕрднреА рднреА рдХрдХрдбрд╝реА рдХреА рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерди рдХреЛрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдИ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрде рдореЗрдВ "./node_modules/.bin" рдЬреЛрдбрд╝рдХрд░ рдореИрдХ рдкрд░ рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдореИрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рднреА рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рди рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рдкрде рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рдЫреЛрдЯреА рдмрд╛рддреЗрдВ:

  1. рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рди рдХреЗрд╡рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд▓реНрдХрд┐ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдХрдИ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рдврд╛рдВрдЪреЗред рдЬрдм рдореИрдВ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рддреЛ рдореИрдВ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рдерд╛ рдФрд░ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧ рдХрд░рдирд╛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдЬрд┐рд╕рдиреЗ рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдиреЛрдб.рдЬреЗрдПрд╕/рдХрдХрдбрд╝реА.рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреА рдереА

  2. рдЧреНрд▓реЛрдмрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрдИрдбреАрдИ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ macOS рдкрд░ рдмреИрд╢ рдкреНрд░реЛрдлрд╛рдЗрд▓ (рдпрд╛рдиреА рд╕реНрдкреЙрдЯрд▓рд╛рдЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рд▓реЙрдиреНрдЪ рдХрд░рдирд╛) рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝рдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред

рд╣рдореНрдоред рд╣рдо рдПрдХ рд╕реАрдПрд▓рдЖрдИ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХрдХрдбрд╝реА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╣рд╛рдВ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ process.cwd() + /node_modules/cucumber рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@charlierudolph рдореВрд▓ рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдХрдХрдбрд╝реА-рдЬреЗрд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реИрд╕реЗ рднреА, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рд╡рд╣ Scala.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореБрдЭреЗ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдЬреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ , рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рддрдм рддрдХ

@jeffmath @kozhevnikov рдпрд╣рд╛рдБ рдЗрд╕ рдкрд░ рдореЗрд░реЗ рдЕрджреНрдпрддрди рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ

  1. рдореИрдВ рдХреНрд▓реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХрдХрдбрд╝реА рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  2. рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рд╕рддреНрдпрд╛рдкрди рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕реНрдерд╛рдиреАрдп/рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдареАрдХ рдЙрд╕реА рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдЪреАрдЬреЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛ред
  3. рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рддреБрд░рдВрдд рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рдЖрдПрдЧрд╛ред
  4. рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИред рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

рдореИрдВрдиреЗ _roi-functional-tests_ рдирд╛рдордХ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдг рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЕрдм рддрдХ, рдореИрдВрдиреЗ рдкреИрдХреЗрдЬ рдХреЛ _npm link_ рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдХрдХрдбрд╝реА рдХреЛ _roi-functional-tests_ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдРрд╕рд╛ рдХреБрдЫ:

./node_modules/.bin/cucumberjs ./node_modules/roi-functional-tests/features

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:

Warnings:

1) Scenario: Curl request - node_modules/roi-functional-tests/features/home.feature:3
   Step: Given I make curl request to "/" - node_modules/roi-functional-tests/features/home.feature:4
   Message:
     Undefined. Implement with the following snippet:

       Given('I make curl request to {arg1:stringInDoubleQuotes}', function (arg1, callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

рдХреНрдпрд╛ рдХрдХрдбрд╝реА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреА рд╣реИ?

@jramcast рд╣рд╛рдБред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ --require cli рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА --require рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ:

./node_modules/.bin/cucumberjs --require ./node_modules/roi-functional-tests/features ./node_modules/roi-functional-tests/features

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ npm link рдХрд╛рд░рдг рдЦреАрд░реЗ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реЛ?

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд┐рдирд╛ npm link рдХреЗ рд╡рд╣реА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдмрд╕ рдХреЙрд▓ рдХрд░рдХреЗ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:

./node_modules/.bin/cucumberjs ./node_modules/roi-functional-tests/features

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐, рдкреИрдХреЗрдЬ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╕рдордп, require рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ ( node_modules/roi-functional-tests/node_modules/cucumber ) рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрдХрдбрд╝реА рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ _roi-functional-tests_ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рддреЛ npm рдирд┐рд░реНрднрд░рддрд╛ рд╡реГрдХреНрд╖ рдХреЛ рд╕рдорддрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ ( node_modules/cucumber ) рдХреЗ рдареАрдХ рдиреАрдЪреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрдХрдбрд╝реА рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛред

рдХрдХрдбрд╝реА рд╕рдВрд╕реНрдХрд░рдг: "рдХрдХрдбрд╝реА": "^ 2.0.0-рдЖрд░рд╕реА.9"
рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрд╕реНрдХрд░рдг: 10
рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг: 6.10.3 рдПрд▓рдЯреАрдПрд╕ рдФрд░ 7.10

рдЖрдИрдбреАрдИ рдпрд╛ рдХрдХрдбрд╝реА рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рдлрд┐рд░ рднреА рдХрджрдо рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред

рдЕрдЧрд░ рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдбреАрдЖрдИрдЖрд░ рдХреЗ рднреАрддрд░ рд╕реЗ рдХрдХрдбрд╝реА.рдЬреЗрдПрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?

рдпрд╣ MacOS Sierra 10.12.4 . рдкрд░ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг 7.10

рдХрдХрдбрд╝реА рд╕рдВрд╕реНрдХрд░рдг 1.3.0 рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛, рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдм рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ cmd рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрдИрдбреАрдИ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рдп @charlierudolph ,
рдореИрдВ рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ рд╣реВрдВред (рдЕрдВрдХ ремреж рд╕реЗ рдпрд╣рд╛рдБ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рд╛)
рдореИрдВ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлреАрдЪрд░ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддреЗ рд╕рдордп рдореЗрд░реА рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ
image
рдлреАрдЪрд░ рдлрд╛рдЗрд▓ рдФрд░ рд╕реНрдЯреЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди рдлрд╛рдЗрд▓реЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд╣реИрдВ (рд╕реНрдХреНрд░реАрди-рд╢реЙрдЯ рд╕рдВрд▓рдЧреНрди)
рдореЗрд░реЗ рдХрджрдо def рдХреА рдкрд╣рдЪрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ?

рдореЗрд░реЗ рдкрд╛рд╕ рдкреИрдХреЗрдЬ-lock.json рдореЗрдВ 1.X рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдХрдбрд╝реА рдХрд╛ рд╕рдВрджрд░реНрдн рдерд╛
"wdio-рдХрдХрдбрд╝реА-рдврд╛рдВрдЪрд╛":

    "cucumber": {
      "version": "1.3.3",
      "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-1.3.3.tgz",
      "integrity": "sha1-Za+2Xy+T9y2teN8qterPFGCf7C8=",
      "dev": true
    },

"webdriverio-cucumber-js":  

   "cucumber": {
      "version": "1.2.2",
      "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-1.2.2.tgz",
      "integrity": "sha1-KEZJEf8arfwOZjTXY2q69mHGaJI="
    },

рдореИрдВрдиреЗ рдЙрди рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ 2,3,1 . рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛
рдореЗрд░рд╛ рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг 8.0.0 . рд╣реИ
рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рдирд╣реАрдВ рд╣реИ
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

@vvedachalam

рдпрджрд┐ рдЖрдк рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореЛрдб рдХреЗ рд╡рд┐рдкрд░реАрдд рдЗрд╕рдХреЗ рдЯреЗрд╕реНрдЯ рд░рдирд░ рдХреЗ рд╕рд╛рде webdriverIO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ 2.x рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг 1.x, рдЕрдзрд┐рдорд╛рдирддрдГ 1.3.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЯреЗрд╕реНрдЯ рд░рдирд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдирдП рддрд░реАрдХреЗ рд╕реЗ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдкреБрд░рд╛рдиреЗ [email protected] рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЯреЗрд╕реНрдЯ рд░рдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХрдорд╛рдВрдб рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

@GeeChao
рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЕрднреА рднреА рдЪрд▓рд╛рдпрд╛ рд╣реИ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ

рдЬрдм рдореИрдВрдиреЗ -r рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдлреАрдЪрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд┐рдВрдЯреЗрдХреНрд╕ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ ...
C:/webdriverio-test/node_modules/.bin/cucumber-js -r features/customer-validation.feature

C:\webdriverio-testfeatures\customer-validation. рдлрд╝реАрдЪрд░: 2
рдПрдХ рдорд╛рд▓рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ
^^

рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рддреНрд░реБрдЯрд┐: рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
createScript рдкрд░ (vm.js:74:10)
Object.runInThisContext рдкрд░ (vm.js:116:10)
рдореЙрдбреНрдпреВрд▓._рдХрдВрдкрд╛рдЗрд▓ рдкрд░ (рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕:533:28)
Object.Module._extensions..js рдкрд░ (module.js:580:10)
рдореЙрдбреНрдпреВрд▓.рд▓реЛрдб рдкрд░ (рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕:503:32)
tryModuleLoad рдкрд░ (module.js:466:12)
Function.Module._load рдкрд░ (module.js:458:3)
рдореЙрдбреНрдпреВрд▓.рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ (рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕:513:17)
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓.рдЬреЗрдПрд╕:11:18)
C:\webdriverio-test\node_modules\cucumberlib\cliindex.js:135:16 рдкрд░
Array.forEach (рдореВрд▓) рдкрд░
Cli.getSupportCodeLibrary рдкрд░ (C:\webdriverio-test\node_modules\cucumberlib\cliindex.js:134:24)
рдХреНрд▓реА рдореЗрдВред(C:\webdriverio-test\node_modules\cucumberlib\cliindex.js:144:39)
рдЬреЗрдирд░реЗрдЯрд░.рдиреЗрдХреНрд╕реНрдЯ рдкрд░ ()
Generator.tryCatcher рдкрд░ (C:\webdriverio-test\node_modules\bluebird\js\release\util.js:16:23)
PromiseSpawn._promiseFulfilled рдкрд░ (C:\webdriverio-test\node_modules\bluebird\js\release\generators.js:97:49)

@vvedachalam рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджреЛрд╣рд░рд╛

@GeeChao
рдХреГрдкрдпрд╛ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ
https://github.com/vvedachalam/Ruffer-Test

@vvedachalam

рдЕрдкрдиреЗ рд╕реНрдЯреЗрдк_рдбреЗрдлрд┐рдирд┐рд╢рди рдлреЛрд▓реНрдбрд░ рдХреЛ рдЕрдкрдиреЗ рдлреАрдЪрд░ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рд╕реНрдЯреЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди рдХреЛ рдкрд╣рдЪрд╛рди рд▓реЗрдЧрд╛ред рдЖрдкрдХреА txtdetails.txt рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди рдЧрд▓рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХреЗрд╡рд▓ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИред

@GeeChao
рдЖрд╣, рд╢реНрд░реАрдорд╛рди рдореИрдВрдиреЗ рдЙрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рд╛рдпрд╛ред
рдпрджрд┐ рдЖрдк рдореЗрд░рд╛ рдЙрдкрд░реЛрдХреНрдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗрд╡рд▓ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╣реИред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рд╣реЛрдЧреА:
рд╕рд╛рдордЧреНрд░реА = fs.readFileSync ('../../txndetails.txt', 'utf8');

рдлрд┐рд░ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлреАрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдЧреЛрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдХреНрдпреЛрдВ рд╣реВрдВ?
рдХреНрдпрд╛ рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рд╕рд╣реА рдирд╣реАрдВ рд╣реИ?

@vvedachalam

рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдХрд╛рдо рдмрдирддрд╛ рд╣реИред

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдХреА рд╡рд╣ рдереА step_definitions рдХреЛ рдлреАрдЪрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рддрд╣рдд рд▓реЗ рдЬрд╛рдирд╛

рднреА рдореИрдВ рдПрдХ NPM рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ [email protected] --save-рджреЗрд╡

рдлрд┐рд░ рднрд╛рдЧ рдЧрдпрд╛ node_modules/cucumber/bin/cucumber.js features/

@GeeChao рд╕рдм рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рддрддреНрдХрд╛рд▓реАрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдЕрдВрджрд░ рдлреЙрд░ рд▓реВрдк рдмрдирд╛рдпрд╛ рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рд╣реБрдИред рдХреНрдпрд╛ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдВрджрд░ рд▓реВрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдбреЗрдЯрд╛ (рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрддреНрдХрд╛рд▓реАрди рдЪрд░рдг рдЪрд▓рд╛рдирд╛ рд╣реИ
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рд╢реНрди рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

@GeeChao рдареАрдХ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдпрд╣ рдореЗрд░реА рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЧрд▓рддреА рд╣реИред рд▓реВрдкрд┐рдВрдЧ рд╡реИрд░рд┐рдПрдмрд▓ рдареАрдХ рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд▓рдВрдмрд╛рдИ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛)ред рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдкреБрдирдГ рдзрдиреНрдпрд╡рд╛рдж

рдореЗрд░реЗ рд▓рд┐рдП, рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪрд░рдгреЛрдВ рдореЗрдВ рд░реЗрдЧреЗрдХреНрд╕ рдХреА рдмрдЬрд╛рдп рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реБрдИ рдереА;

Then('I log in as (.*)', ...)

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп

Then(/I log in as (.*)', ...)

рд╕рд╛рдзрд╛рд░рдг рдЧрд▓рддреА, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЕрднреА рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

@vvedachalam рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ

@ sancy2017 рдореИрдВ

рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рд╕реНрдерд╛рдкрд┐рдд NPM рд╣реИ [email protected] --save-рджреЗрд╡
рдлрд┐рд░ рдЕрдкрдирд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ ..npm рдкрд░реАрдХреНрд╖рдг

рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ "рдХрдХрдбрд╝реА рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЧрдпрд╛"ред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЛ "рдЪрд░рдгреЛрдВ" рд╕реЗ "step_definitions" рдореЗрдВ рдмрджрд▓рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдлреАрдЪрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рддрд╣рдд step_definitions рд╣реИрдВ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рдЕрднреНрдпрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛рдиреА src/step_definitions рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЛ рдлреАрдЪрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рддрд╣рдд рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЪрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред

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

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

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

Niceplace picture Niceplace  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

jfstephe picture jfstephe  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ