UNPKG

cucumber-for-jenkins

Version:

The unofficial JavaScript implementation of Cucumber.

92 lines (75 loc) 2.78 kB
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Cucumber.js</title> <link href="example.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="vendor/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="/cucumber.js"></script> <script type="text/javascript" src="/example.js"></script> </head> <body> <h1><a href="https://github.com/cucumber/cucumber-js">Cucumber.js</a> demo</h1> <p>Find more on the <a href="https://github.com/cucumber/cucumber-js">Cucumber.js repository</a>.</p> <h2>Feature source</h2> <textarea id="feature">Feature: Simple maths In order to do maths As a developer I want to increment variables Scenario: easy maths Given a variable set to 1 When I increment the variable by 1 Then the variable should contain 2 Scenario Outline: much more complex stuff Given a variable set to <var> When I increment the variable by <increment> Then the variable should contain <result> Examples: | var | increment | result | | 100 | 5 | 105 | | 99 | 1234 | 1333 | | 12 | 5 | 18 |</textarea> <h2>Step definitions</h2> <textarea id="step-definitions">///// Your World ///// // Provide a custom World constructor. It's optional, a default one is supplied. this.World = function(callback) { callback(); }; // Define your World! this.World.prototype.variable = 0; this.World.prototype.setTo = function(number) { this.variable = parseInt(number); }; this.World.prototype.incrementBy = function(number) { this.variable += parseInt(number); }; ///// Your step definitions ///// // use this.Given(), this.When() and this.Then() to declare step definitions // Alternatively you can use this.defineStep and even use it // like this: var Given = When = Then = this.defineStep; Given(/^a variable set to (\d+)$/, function(number, callback) { this.setTo(number); callback(); }); When(/^I increment the variable by (\d+)$/, function(number, callback) { this.incrementBy(number); callback(); }); Then(/^the variable should contain (\d+)$/, function(number, callback) { if (this.variable != parseInt(number)) callback.fail(new Error('Variable should contain ' + number + ' but it contains ' + this.variable + '.')); else callback(); });</textarea> <h2>Output</h2> <p><button id="run-feature">Run feature</button></p> <div id="output" class="cucumber-report"></div> <div id="errors-container"> <h3>Errors</h3> <pre id="errors"></pre> </div> </body> </html>