treetest 0.2.0

one cli for all the test frameworks
treetest-0.2.0 is not a library.

treetest

one cli for all your test frameworks

treetest lets you run or list tests across multiple frameworks from a single command, automatically filtering out frameworks that aren’t installed.

it’s configurable via a simple json file.


features

  • run all tests in all available frameworks (default command):
treetest
# or
treetest run
  • list all tests without executing them:
treetest list
  • update frameworks index:
treetest update
  • supports multiple frameworks via a json config
  • automatically filters out missing frameworks
  • easy to add custom frameworks without modifying rust code

installation

install via cargo:

cargo install treetest

Or build from source:

git clone https://github.com/meihapps/treetest.git
cd treetest
cargo build --release

configuration

the config file is located at:

linux/macos: ~/.config/treetest/frameworks.json (or $XDG_CONFIG_HOME/treetest/frameworks.json if XDG_CONFIG_HOME is set)

windows: %appdata%\treetest\frameworks.json

each framework is defined as a json object with the following fields:

  • name (string): a unique name for the test framework.
  • list_cmd (string): command to list all tests in the framework.
  • run_cmd (string): command to run all tests in the framework.

example:

[
  {
    "name": "PyTest",
    "list_cmd": "pytest --collect-only",
    "run_cmd": "pytest"
  },
  {
    "name": "Cargo",
    "list_cmd": "cargo test -- --list",
    "run_cmd": "cargo test"
  }
]
  • only frameworks with available executables will be used.
  • json allows adding new frameworks without touching rust code.

future plans

  • make frameworks updatable without being destructive to user configs
  • add test filtering (run only tests matching a pattern or tag)

license

treetest is licensed under mit see license for details.