Test Guide
Setup
Components
The subchain controller,
seele-anchor-cli(short as 'anc'), is consist of many components that require tuning. The following is the project's major dependencies.
seele-anchor-cli // employ, call subchain contracts
├── seele-stemsdk-javascript // subchain node api, keys, tx
└── seele-contract-core // compile, deploy contracts
└── seele-sdk-javascript // mainchain node api, keys, txEnvironment
Place the components in your project root. In every component's root directory, run
npm link, then inseele-anchor-clirunnpm i. Your changes inseele-stemsdk-javascriptshould reflect inseele-anchor-cli.
project_root
├── seele-anchor-cli
├── seele-contract-core
└── seele-stemsdk-javascriptTesting
Using snc
This is a tool used for fast access to a subchain-mainchain-private environment. In case someone is curious, snc stands for Seele Nice Commandline.
The ./test/node directory contains the configuration file nodecliconfig.json for snc start, use the nodecliconfig.json_bac in case your editor or terminal crashes. The nodecliconfig.json is configured as follows:
main-conf: array of mainchain configs to start
stem-conf: array of subchain configs to start
main-info: cli filled after
snc startstem-info: cli filled after
snc start
The ./test/node/cli.js file contains the code for this tool. The function defined in this file, run(), wraps regular bash statements. With this, it would easy to modify the too drastic "rm -rf ~/.seele; rm -rf seeleTemp;" command to NOT DELETE all your node database that snc clean runs.
Using anc
Most anc command are introduced in user guide, using the -h option in anc and you may find other helpful options. One common one is the following:
Refer to the scriptTest.js and flow.test.js, in the ./test directory to know how to write your own test scripts in javascript, or scriptTest.sh to write in bash.
Running npm test would run all files in ./test directory with .test.js filename extesion, use .only and .skip to only run a single test, or selectively skip tests.
Last updated
Was this helpful?