mvx_property_testing
SKILL.md
MultiversX Property Testing
This skill guides you in using property-based testing (fuzzing) to find edge cases in Smart Contract logic.
1. Tools
cargo fuzz: Standard Rust fuzzer.proptest: Property testing framework for Rust.
2. Methodology
Defining Invariants:
- "Total Supply MUST equal sum of all balances."
- "User balance MUST NOT decrease if deposit fails."
3. Implementation (RustVM)
Write a test that:
- Takes random input (random amounts, random user IDs).
- Executes the contract logic via
blockchain_mock. - Asserts the invariant holds.