Run Cadence tests with the Flow CLI
The Flow CLI provides a command to run Cadence tests.
_10flow test /path/to/test_script.cdc
⚠️ The test command expects configuration to be initialized. See flow init command.
Example Usage
A simple Cadence script test_script.cdc, which has a test case for running a cadence script on-chain:
_12import Test_12_12pub fun testSimpleScript() {_12    var blockchain = Test.newEmulatorBlockchain()_12    var result = blockchain.executeScript(_12        "pub fun main(a: Int, b: Int): Int { return a + b }",_12        [2, 3]_12    )_12    _12    assert(result.status == Test.ResultStatus.succeeded)_12    assert((result.returnValue! as! Int) == 5)_12}
Above test-script can be run with the CLI as follows, and the test results will be printed on the console.
_10> flow test test_script.cdc_10_10Running tests..._10_10Test results: "test_script.cdc"_10- PASS: testSimpleScript
To learn more about writing tests in Cadence, have a look at the Cadence testing framework.
Flags
Coverage
- Flag: --cover
- Default: false
Use the cover flag to calculate coverage report for the code being tested.
_10> flow test --cover test_script.cdc_10_10Running tests..._10_10Test results: "test_script.cdc"_10- PASS: testSimpleScript_10Coverage: 100.0% of statements
Coverage Report File
- Flag: --coverprofile
- Valid inputs: valid filename
- Default: coverage.json
Use the coverprofile to specify the filename where the calculated coverage report is to be written.