Scenarios
*
✗ build active users query (0.01s)
✔ given a query builder (0.00s)
✔ when building active user query (0.01s)
✗ then it should match expected SQL (0.00s)
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
/app/tests/build_user_queries.py:27 in build_active_users_query

24
25 query = user_query_builder.active_only().build()
26
27 assert query == """SELECT u.id, u.name, u.email, u.created_at, u
28
╰──────────────────────────────────────────────────────────────────────────────╯
AssertionError
>>> assert actual == expected
- "SELECT u.id, u.name, u.email, u.created_at, u.updated_at FROM users u LEFT JOIN preferences p ON u.id = p.user
+ "SELECT u.id, u.name, email, u.created_at, u.updated_at FROM users u LEFT JOIN preferences p ON u.id = p.user_i


# --seed 9bcc2e2b-9281-4537-9e10-e7f6244c7d0e
# 1 scenario, 0 passed, 1 failed, 0 skipped (0.01s)

Smart Diffs at a Glance

See exactly what changed with character-level highlighting. No more squinting at walls of text to spot the difference between expected and actual values.

Context Without Clutter

Get just the right amount of information. Vedro shows you the failing assertion with surrounding context, not overwhelming stack dumps.

Step-by-Step Visibility

Watch your test execution flow with clear step names and timing. Know exactly where things went wrong and how long each step took.

Real-Time Progress

Monitor test execution with live progress indicators. See which tests are running, passing, or failing as it happens, not after everything completes.