apiunit v3.2.1
Apiunit
Apiunit is an awesome api unit testing framework! It allows creation of http requests and responses to create unit tests.
Commands
--input (-i): path to directory containing inputs (/requests is default) --diff (-d): path to directory containing expected output (/responses is default) --parameter (-p): path to the parameter .json file --prefix (-x): prefix of request(input) files to run --cmd (-c): command to be run between scenarios --scn (-s): The scenario or comma separated scenarios to run.
Parameter file example
Parameter files should be JSON format. Here is an example:
In this example we are running two scenarios named scn1 and scn2 on the folder(group) of "assets/testSuite". In each scenario, the PARAM1 and PARAM2 variables will be replaced with the values in the scenarios.
Request / Response file examples
Request files should end with .req or .msg extension, and response files should end with .resp extension. Every request should have a matching response with the same name minus extension. Response files can also use regular expressions to match expected responses.
Request files also allow the parameter APIUNIT-RETRY which can be set to any value, but default is 15000ms. APIUNIT-RETRY will retry the request until it matches the associated response or fails within the given timeframe.
Response files also allow the header apiunit-ignore-array-order which use a JSONPath expression to allow arrays to be unordered. Use path1,path2
where the value is a comma separated list of expressions to allow. Any array can be represented with $..
, or a more explicit path can be specified. For example, targeting values
in only key1
in the following json structure would look like data[*].key1.values
.
{
"data": [
{
"key1": {
"values": [1,2,3]
},
"key2": {
"values": [4,5,6]
}
},
{
"key1": {
"values": [1,2,3]
},
"key2": {
"values": [4,5,6]
}
}
]
}
Example request:
Example response:
Example Execution
To run a simple apiunit task just run the command "node ../node_modules/.bin/apiunit -i specs/requests -d specs/responses -p parameters.json -c \"npm run add-some-data-or-something\"".
28 days ago
29 days ago
10 months ago
12 months ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago