plus.cucumber.code
v1.0.7
Published
Cucumber's code support
Downloads
5
Maintainers
Readme
Feature: Cucumbers code support
I want to write documentation that always works.
Our tests - our documentation.
Scenario: Should allow to define code inline and assert results (digits)
Given code `var money = 100`
Then `money` should equal `100`
Scenario: Should allow to define code in the box and assert results (strings)
Given code:
"""
```
var money = 101;
var name = 'plus';
```
"""
Then `money` should equal `101`
Then `name` should equal 'plus'
Then `name` should equal `'plus'`
Then `name` should equal "plus"
Then `name` should equal `"plus"`
Scenario: Should allow to define code in the box and assert results (objects/functions)
Given code:
"""
```
var myFunction = function (){
return 200;
}
var MyClass = function (){
this.name = 'my name'
}
```
"""
Then `myFunction()` should equal `200`
Then `new MyClass().name` should equal `'my name'`
Scenario: Should allow to assert types and variables
Given code `var MyClass = function(){}`
Given code `var instance = new MyClass()`
Then `instance` should be instanceOf `MyClass`
Then `instance` should be ok
Scenario: Should allow to assert with should chain
Given code `var name = 'plus'`
Then `name` should be ok
Then `name` should not be false
Scenario: Should allow to write doc blocks
Given @doc this is inline documentation
Given @doc:
"""
this is box of documentation
"""
Scenario: Should allow to require relative module
Given require `src/Code.js` as `Code`
Then `Code` should be ok
Scenario: How to use?
Given @doc `npm install plus.cucumber.code --save-dev`
Given @doc Simply add code.js file to features folder
Given @doc:
"""
```
// file: features/code.js
module.exports = require('plus.cucumber.code');
```
"""
Given @doc or `node_modules/.bin/plus.cucumber.code.js init`
Given @doc it will create code.js from previous doc box.
8 scenarios (8 passed) 27 steps (27 passed)