This is a short canned synopsis of testing in the tremor project.
Running Internal Tests
cargo test --all
Running Integration Tests
Running all integration tests:
cargo run -p tremor-cli -- test all tremor-cli/tests
You can also run a singular test or benchmark by referring to the containing folder:
cargo run -p tremor-cli -- test bench ./tremor-cli/tests/bench/specific-benchmark
EQC or 'QuickCheck' is a specification-based testing tool for Erlang supporting a test methodology called property-based testing. Programs are tested by writing properties - preconditions, postconditions and invariants. QuickCheck uses random generation to create constructive ( should pass ) and destructive ( should fail ) tests given the specified properties. This allows suitably defined specifications to cover a far greater set of use cases than would ordinarily be possible to write manually.
Further to this, QuickCheck can reduce a set of failing test cases to the minimal test case that forces any failing test to fail its specification. This drastically reduces the amount of QA and developer time required to verify or prove a piece of code works given a suitably defined specification.
You need to start the tremor to run the tests:
cargo run -p tremor -- server run
rebar3 as eqc eqc