рдирдорд╕реНрддреЗ, рдореИрдВ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реА рдХрджрдо рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдВрдЯреЛрдВ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдпрд╣ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдВред
рд╕реБрд╡рд┐рдзрд╛рдУрдВ/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
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВ рдЗрд╕рдореЗрдВ рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рддреНрд░реБрдЯрд┐ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдХрдХрдбрд╝реА-рдЬреЗрдПрд╕ рдХрд╛ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рдпрд╣ рдХрд╣рддрд╛ рд╣реИ 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 рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИред
рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рд╣реИ
@jeffmath @TheAdamW рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдкрд░ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкрд╡рд┐рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд╣рд░ рд╕рдВрднрд╡ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ ./node_modules/.bin/cucumberjs
рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд cucumberjs
(рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 2.0.0-rc.6 )
рдпрд╣рд╛рдВ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИ: рдХрдХрдбрд╝реА рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдиреЗ рд╕реЗ linux рдореЗрдВ рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рдкрде/рдлрд╝реЛрд▓реНрдбрд░/рдкреИрдЯрд░реНрди рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
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" рдЬреЛрдбрд╝рдХрд░ рдореИрдХ рдкрд░ рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдореИрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рднреА рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рди рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рдкрде рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рдЫреЛрдЯреА рдмрд╛рддреЗрдВ:
рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рди рдХреЗрд╡рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд▓реНрдХрд┐ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдХрдИ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рдврд╛рдВрдЪреЗред рдЬрдм рдореИрдВ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рддреЛ рдореИрдВ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рдерд╛ рдФрд░ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧ рдХрд░рдирд╛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдЬрд┐рд╕рдиреЗ рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдиреЛрдб.рдЬреЗрдПрд╕/рдХрдХрдбрд╝реА.рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреА рдереА
рдЧреНрд▓реЛрдмрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрдИрдбреАрдИ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ macOS рдкрд░ рдмреИрд╢ рдкреНрд░реЛрдлрд╛рдЗрд▓ (рдпрд╛рдиреА рд╕реНрдкреЙрдЯрд▓рд╛рдЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рд▓реЙрдиреНрдЪ рдХрд░рдирд╛) рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝рдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред
рд╣рдореНрдоред рд╣рдо рдПрдХ рд╕реАрдПрд▓рдЖрдИ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХрдХрдбрд╝реА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╣рд╛рдВ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ process.cwd() + /node_modules/cucumber
рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
@charlierudolph рдореВрд▓ рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдХрдХрдбрд╝реА-рдЬреЗрд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реИрд╕реЗ рднреА, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рд╡рд╣ Scala.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореБрдЭреЗ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдЬреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ , рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рддрдм рддрдХ
@jeffmath @kozhevnikov рдпрд╣рд╛рдБ рдЗрд╕ рдкрд░ рдореЗрд░реЗ рдЕрджреНрдпрддрди рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ
рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИред рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред
рдореИрдВрдиреЗ _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 ,
рдореИрдВ рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ рд╣реВрдВред (рдЕрдВрдХ ремреж рд╕реЗ рдпрд╣рд╛рдБ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рд╛)
рдореИрдВ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлреАрдЪрд░ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддреЗ рд╕рдордп рдореЗрд░реА рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ
рдлреАрдЪрд░ рдлрд╛рдЗрд▓ рдФрд░ рд╕реНрдЯреЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди рдлрд╛рдЗрд▓реЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд╣реИрдВ (рд╕реНрдХреНрд░реАрди-рд╢реЙрдЯ рд╕рдВрд▓рдЧреНрди)
рдореЗрд░реЗ рдХрджрдо 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)
рдХреНрд▓реА рдореЗрдВред
рдЬреЗрдирд░реЗрдЯрд░.рдиреЗрдХреНрд╕реНрдЯ рдкрд░ (
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 рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЛ рдлреАрдЪрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рддрд╣рдд рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЪрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдареАрдХ рд╣реИред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИред
рдлрд╝реАрдЪрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрд░реЗ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЕрднреА рднреА рдХрдХрдбрд╝реА рдХреА рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерди рдХреЛрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдИ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред
рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрде рдореЗрдВ "./node_modules/.bin" рдЬреЛрдбрд╝рдХрд░ рдореИрдХ рдкрд░ рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдореИрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рднреА рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рди рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рдкрде рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред