Qtest is an open-source Javascript-based Antelope smart-contract testing framework, created by GenerEOS with funding from the EOS Network Foundation.
Qtest gives you the ability to dockerize a Leap node. This allows a developer to host it on any system that supports Docker. Using Qtest, developers can simplify testing of smart contracts and automate things like table seeding, account creation, and other initialisation tasks that are required before running complex test scenarios. Qtest already can be used to streamline testing for multiple Antelope based chains including EOS, WAX, and TELOS, with the ability to add additional chain support easily.
- Ability to run tests in parallel
- Supports the snapshot for EOS/WAX/TLOS with lastest system contracts out of the box
- Supports testing on ARM/AMD architectures
- Ability to insert/modify/erase data for each table
- Update the chain time to fast-forward the chain and allow testing future states
Refer to an example project
npm install --save-dev qtest-js
Install jest
npm install --save-dev jest@^28.1.3
Config jest
: Create jest.config.js and add the following:
module.exports = {
// transform: { "^.+\\.(ts|tsx)$": "ts-jest" },
testEnvironment: "node",
testTimeout: 120 * 1e3,
};
To install docker please refer here
Update test command in package.json
"test": "jest"
Run
npm run test
const { Chain } = require("qtest-js");
const { expectAction } = require("qtest-js");
Api and JsonRpc from eosjs are available through the Chain class
Public
Internal
Public
For issues not covered in the documentation, please jump into our channel and we will do our best to help you out GenerEOS channel on Telegram.
This code is provided as is, under MIT Licence.
- Support ARM binaries for leap version