We use [cucumber] to be able to describe test scenarios in human language.
We use [cucumber] to be able to describe test scenarios in human language.
...
@@ -20,7 +20,7 @@ Feature: Balance transfer
...
@@ -20,7 +20,7 @@ Feature: Balance transfer
Then dave should have 5 ĞD
Then dave should have 5 ĞD
```
```
### create a new functional test
### Create a new functional test
To create a new test scenario, simply create a new file with a name of your choice in the
To create a new test scenario, simply create a new file with a name of your choice in the
`/cucumber-features` folder and give it the extension `.feature`.
`/cucumber-features` folder and give it the extension `.feature`.
...
@@ -96,7 +96,7 @@ Amounts must be expressed as an integer of `ĞD` or `UD`, decimal numbers are no
...
@@ -96,7 +96,7 @@ Amounts must be expressed as an integer of `ĞD` or `UD`, decimal numbers are no
If you need more precision, you can express amounts in cents of ĞD (write `cĞD`), or in thousandths
If you need more precision, you can express amounts in cents of ĞD (write `cĞD`), or in thousandths
of UD (write `mUD`).
of UD (write `mUD`).
### genesis state
### Genesis state
Each scenario bootstraps its own blockchain with its own genesis state.
Each scenario bootstraps its own blockchain with its own genesis state.
...
@@ -132,7 +132,7 @@ cargo cucumber -i monetary*
...
@@ -132,7 +132,7 @@ cargo cucumber -i monetary*
will only run `.feature` files that start with `"monetary"`.
will only run `.feature` files that start with `"monetary"`.
The features will be tested in parallel and logs files will be written in the `end2end-tests` folder.
The features will be tested in parallel and logs files will be written in the `end2end-tests` folder.
If you get an `Error: Timeout`, look at the logs to understand why Duniter did not launch successfully.
If you get an `Error: Timeout`, look at the logs to understand why Duniter did not launch successfully. You can also set the environment variable `DUNITER_END2END_TESTS_SPAWN_NODE_TIMEOUT` to increase the timeout for node spawn.