As our ecosystem grows and many teams have needs for testing their work that often overlap (at least partially), I am interested in compiling a list of tools, utilities and frameworks that either already exist, or are actively being developed that can be used for performing testing and QA of runtimes, clients, and everything else!
If you are working on, or know of, any tools and projects not mentioned below please comment with a link to the tool and ideally a short description, so I can add them to the list. It can be focusing on a single project, or a more generic tool. Anything goes!
- Zombienet
- GitHub - paritytech/zombienet: A cli tool to easily spawn ephemeral Polkadot/Substrate networks and perform tests against them.
- Zombienet aims to be a testing framework for Substrate based blockchains, providing a simple cli tool that allows users to spawn and test ephemeral networks. Tests can be written in a DSL or JS (with polkadot.js)
- try-runtime
- https://docs.substrate.io/reference/command-line-tools/try-runtime/
- A tool that allows you to write tests against snapshots of runtime state
- Trappist
- GitHub - paritytech/trappist
- A set of tools/playground focusing on testing cross-chain functionality
- Chopsticks
- GitHub - AcalaNetwork/chopsticks: Create parallel reality of your Substrate network.
- Create a parallel reality of a live chain, and optionally set storage of your new chain for testing
- Acala’s e2e tests
- GitHub - AcalaNetwork/e2e-tests
- Great example of some really nicely-written e2e tests testing a variety of cross-chain functionality
- parachain-launch