Skip to main content

Git-native test case management

Project description

Testla

Git-native test case management for modern development workflows.

What is Testla?

Testla stores test cases as Markdown files in your repository, making them:

  • Version controlled - Cases branch, merge, and have history like code
  • PR reviewable - Test case changes appear alongside code changes
  • CI-native - No external service required to access test definitions

Quick Start

# Install
pip install testla

# Initialize in your repo
testla init --name "My Project"

# Create a test case
testla case new auth/login --title "User can login"

# List cases
testla case list

Test Case Format

Cases live in testla/cases/ as Markdown with YAML frontmatter:

---
id: TC001
title: User can login with valid credentials
priority: high
tags: [auth, smoke]
automation:
  status: automated
  test_path: tests/test_auth.py::test_valid_login
---

## Preconditions

- User account exists

## Steps

1. Navigate to login page
2. Enter valid credentials

## Expected Result

User sees dashboard

pytest Integration

Link automated tests to cases using the @pytest.mark.testla marker:

import pytest

@pytest.mark.testla("TC001")
def test_user_can_login():
    ...

Run tests and see the Testla report:

pytest -m testla -v

Configuration

Add to your pyproject.toml:

[tool.testla]
project_name = "My Project"
case_id_prefix = "TC"
case_id_digits = 3

Development

# Clone and install
git clone https://github.com/m1yag1/testla.git
cd testla
uv sync --group dev

# Run tests
uv run pytest tests/ -v

# Format and lint
uv run ruff format .
uv run ruff check .

License

Apache-2.0

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

testla-0.1.1.tar.gz (98.6 kB view details)

Uploaded Source

Built Distribution

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

testla-0.1.1-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file testla-0.1.1.tar.gz.

File metadata

  • Download URL: testla-0.1.1.tar.gz
  • Upload date:
  • Size: 98.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for testla-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8f295d9a09615ec908dc93c65af98c93f94a72e84a808ec92f7fac8d085bcadc
MD5 cf08449a1ba9117ec50fe93dd2496a6a
BLAKE2b-256 013b6211ef2db49fc2ec4b7454fd3ec04d2cecca8cd572a6c71cf05c8bee30aa

See more details on using hashes here.

File details

Details for the file testla-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: testla-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for testla-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c2c5adb11fd3f4461e2c1157342061b2586431a2e0467bcbadcdeb75a8a21e88
MD5 5b0da2ce774b1c17d96cbe10d33fb8b4
BLAKE2b-256 f6223f03405c15d779358053b0655b34884a56201fa663070ddda6ec82081a4c

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