Skip to main content

A CLI tool that helps you quickly navigate to test functions in pytest files.

Project description

TestJump (TJ)

A CLI tool that helps you quickly navigate to test functions in pytest files.

When making fundamental changes to a project, multiple test cases often fail. Instead of manually opening files and searching for each failing test, TestJump allows you to jump directly to the test location 🤷.

Installation

Install this tool using pip:

pip install testjump

Or using pipx:

pipx install testjump

Or using uv:

uv tool install testjump

Usage

  1. Jump to a test function:
tj tests/test_calculator.py::test_addition
  1. Jump to a test class method:
tj tests/test_user.py::TestUser::test_user_creation
  1. Jump using pytest output (supports FAILED prefix):
tj "FAILED tests/test_user.py::TestUser::test_user_creation - Failed: assertion error"

Interactive Usage with Multiple Files

You can use it interactively with a file containing multiple jump points:

for line in $(cat jumppoints.txt); do tj $line; echo "Press any key to continue..."; read; done

Output Options

TestJump supports different output formats:

  1. Print location only (useful for scripting):
tj tests/test_calculator.py::test_addition -print
# Output: tests/test_calculator.py:42
  1. JSON output with detailed information:
tj tests/test_calculator.py::test_addition -json
# Output:
# {
#   "status": "ok",
#   "path": "tests/test_calculator.py",
#   "class_name": null,
#   "function_name": "test_addition",
#   "lineno": 11
# }

Configuring Your Editor

TestJump uses VS Code by default, but you can configure your preferred editor by setting the TJ_EDITOR environment variable:

# For VS Code (default)
export TJ_EDITOR=vscode

# For Vim
export TJ_EDITOR=vim

# For IntelliJ IDEA
export TJ_EDITOR=idea

# For PyCharm
export TJ_EDITOR=pycharm

# For Neovim
export TJ_EDITOR=nvim

Add this to your .bashrc or .zshrc to make it permanent.

Contributing

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd testjump
python -m venv .venv
source .venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[dev]'

Or if you are using uv:

uv sync --extra dev

To run the tests:

uv run pytest .

To help ensure consistent code quality that follows our guidelines, pre-commit may be used. We have git hooks defined which will execute before commit. To install the hooks:

pre-commit install

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

testjump-0.1.6.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

testjump-0.1.6-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file testjump-0.1.6.tar.gz.

File metadata

  • Download URL: testjump-0.1.6.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.8

File hashes

Hashes for testjump-0.1.6.tar.gz
Algorithm Hash digest
SHA256 c8708efa47de5cbaf5a5ca51d4560620d3845f5dd338cbfe998ff298e451c629
MD5 fdb3ddcd74b57979da5d2109ac1d9dcd
BLAKE2b-256 545964c6a4debb4e8f7628aadd0451275c76a006a5f8a740abd33e2539753b17

See more details on using hashes here.

File details

Details for the file testjump-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: testjump-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.8

File hashes

Hashes for testjump-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 525c8d0522e48cb6e4035bb774d2e233bc15147b06b7a0fb94ea250efa5d349d
MD5 6587f2f2c681566ec5d538e5f217c368
BLAKE2b-256 ce66855608ade7fa0d2943fcb4819bd91c75dd286b6e5d3e91f2c9b9f120e70b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page