/TestSuite

TestSuite is a framework designed to simplify development and testing of TVM contracts. It includes light-weight emulator of blockchain making it easy to develop contracts.

Primary LanguagePythonApache License 2.0Apache-2.0

TestSuite

Chat on Telegram

TestSuite is a framework designed to simplify development and testing of Everscale contracts. It contains lightweight blockchain emulator making it easy to develop contracts in a TDD-friendly style.

Features:

  • Speed - perform dozens of tests in just seconds.
  • Complex test scenarios - using Python as a scripting language allows you to create testing scenarios of varying complexity.
  • Deep Integration - access all internal messages, measure gas and control time.
  • Easy installation - use pip install tonos-ts4 to install TestSuite on your local Windows, Linux or macOS. You can also easily compile it from source if needed.

See tutorials for self-documented examples of framework usage or visit TestSuite's documentation.

List of tutorials

Quick Start

⚠️ You might need to replace python and pip with python3 and pip3 if you are running Linux or macOS.

If you have Python 3.6-3.10, pip and git installed on your system, you can proceed with the following steps.

  1. Install tonos-ts4 package:
pip install tonos-ts4
  1. Download tutorials from GitHub:
git clone git@github.com:EverscaleGuild/TestSuite.git
  1. ... and run the tutorials:
cd TestSuite/tutorials
python tutorial01_getters.py

For more information, visit TestSuite's documentation.

Building TestSuite from source

Prerequesites

  • Python 3.6-3.10
  • Latest version of Rust
  • Cargo tool

Build for Linux and macOS

cd linker_lib && cargo update && ./build_release.sh && cd -

Build for Windows

cd linker_lib && cargo update && build_release.sh && cd -

Install package in developer mode

python setup.py develop

Disable developer mode

python3 setup.py develop --uninstall

Run tutorials

cd tutorials
python tutorial01_getters.py

Thanks

Inspired by TON Labs / TestSuite4