I am new to cucumberjs and just trying to complete my first attempt to run a function. I created a function that is on the cucumber-js github page . I get this error when trying to run it:
Benjamins-MBP: Features Ben $ cucumber.js example.feature Feature: Example Function
As a user cucumber.js I want to have cucumber documentation so that I can focus on creating awesome applications
Scenario: reading documentation # example.feature: 6 Given that I am in the Cucumber.js GitHub repository # StepDefinitions / myStepDefinition.js: 4 Error: step expires in 5000 milliseconds on Timer.listOnTimeout (timers.js: 92: 15) When I go to the README file # StepDefinitions / myStepDefinition.js: 15 Then I should see "Use" as the name of the page # StepDefinitions / myStepDefinition.js: 22
Scripting failure: example.feature: 6 # Script: reading documentation
1 scenario (1 failure) 3 steps (1 unsuccessful, 2 skipped) 0m05.001s
To make this function pass, given that this is an example function on the gizub cucumber-js page, so probably not?
Here is the whole code:
module.exports = function () {
this.Given(/^I am on the Cucumber.js GitHub repository$/, function (callback) {
this.visit('https://github.com/cucumber/cucumber-js', callback);
});
this.When(/^I go to the README file$/, function (callback) {
callback.pending();
});
this.Then(/^I should see "(.*)" as the page title$/, function (title, callback) {
var pageTitle = this.browser.text('title');
if (title === pageTitle) {
callback();
} else {
callback(new Error("Expected to be on page with title " + title));
}
});
};
Function:
Feature: Example feature
As a user of cucumber.js
I want to have documentation on cucumber
So that I can concentrate on building awesome applications
Scenario: Reading documentation
Given I am on the Cucumber.js GitHub repository
When I go to the README file
Then I should see "Usage" as the page title
world.js file:
var zombie = require('zombie');
function World() {
this.browser = new zombie();
this.visit = function (url, callback) {
this.browser.visit(url, callback);
};
}
module.exports = function() {
this.World = World;
};