tasty-api
v0.5.2
Published
API testing framework
Downloads
61
Readme
TastyJS
TastyJS is an API testing framework which will make your testing process tastier.
TastyJS doesn't pretend to be a Swizz knife in testing world. It's a syntactic sugar above mocha and other testing kitchen stuff related to api testing. The main goal is make api testing process as easy as it possible.
You don't need to know anything about testing standards, dictionary, and community conventions.
You just write, what you hear.
This tool limits the number of degrees of freedom. In this case, if you a programming geek, here you will be cramped. If you want to focus on the essence of api testing, and want to increase the speed of this process, this tool is for you.
PoC
TastyJS
provides unified approach for development, support and testing REST API endpoints
TastyJS
is built on top Application
abstraction
Every Application
has list of Resources
one Resouce
describe single REST API url - path
and related configuration
There is Service
- mock abstraction for Resource
, that allow declaring required Resource
headers, status codes, response in declarative manner and use for TDD development
TastyJS
provides an interface for testing each Resource
with specific api:
TEST API
Simple test:
import tasty from 'tasty';
import app from '../app';
tasty.case('Tests for /login',
tasty.suite(
'Response status',
app.login.post(),
{
checkStatus: 200
}
)
);
or something more complex
import tasty from 'tasty';
import app from '../app';
tasty.case('Tests for /product',
app.login
.setMock({
token: 'some mock server token',
})
.post({
capture: {
json: '$.token',
as: 't',
},
}),
tasty.suite(
'Response structure',
app.product.get(),
{
checkStatus: 200,
checkStatusText: 'OK',
checkStructure: true,
check: (res, ctx) => ctx.t === 'some mock server token',
},
),
app.logout.post(),
);
Sponsors
License
This project is licensed under the terms of the Apache-2.0 license.