ward

Ward is a modern test framework for Python with a focus on productivity and readability.

MIT License

Downloads
3.1K
Stars
1.2K
Committers
31

Bot releases are visible (Hide)

ward - 0.68.0b0 - Python 3.12 support Latest Release

Published by darrenburns 10 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/ward/compare/release/0.67.0b0...release/0.68.0b0

ward - 0.67.0b0 - Support for Python 3.11

Published by darrenburns almost 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/ward/compare/release/0.66.1b0...release/0.67.0b0

ward - 0.66.1b0 - Plugin config fix

Published by darrenburns over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/ward/compare/release/0.66.0b0...release/0.66.1b0

ward - 0.66.0b0 - Drop Python 3.6, plus general housekeeping and version bumps

Published by darrenburns over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/ward/compare/release/0.65.0b0...release/0.66.0b0

ward - 0.65.0b0 - Fixture teardown improvements

Published by darrenburns about 3 years ago

What's Changed

Full Changelog: https://github.com/darrenburns/ward/compare/release/0.64.0b0...release/0.65.0b0

ward - 0.64.0b0 - Various fixes and improvements

Published by darrenburns about 3 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/ward/compare/release/0.63.0b0...release/0.64.0b0

ward - 0.63.0b0 - Public type hints, improved output for assertion failures

Published by darrenburns over 3 years ago

  • Type hints for Ward are now distributed: via https://github.com/darrenburns/ward/pull/283 and several other PRs (thanks to @hukkin)
  • Every type of assertion failure now results in specialised output showing LHS and RHS values. The assertion message is now also displayed in test output (thanks to @JoshKarpel)

image

ward - 0.62.1b0 - Fix bug with "raises"

Published by darrenburns over 3 years ago

Fixes bug with raises. Contributed by @jeduden.

ward - 0.62.0b0

Published by darrenburns over 3 years ago

  • https://github.com/darrenburns/ward/pull/279 - Allow subclasses of specified exception class to pass raises assertion (thanks @jeduden)
  • Adds additional type hints to various modules, enables mypy in them (thanks @hukkin)
ward - 0.61.1b0 - Allow Click 7+

Published by darrenburns over 3 years ago

Click was pinned to 8+, but this was overly strict since Ward works with both v7 and v8.

ward - 0.61.0b0 - Internal changes

Published by darrenburns over 3 years ago

  • Switch from toml to tomli to support TOML spec v1.0, and speed up parsing.
  • Small internal change to diffing to support type annotation improvements.

Thanks to @hukkin for these changes!

ward - 0.60.1b0 - Bugfix - "fixtures" command broken

Published by darrenburns over 3 years ago

The ward fixtures command was failing.

Thanks to @yolong-lin for the fix.

ward - 0.60.0b0 - Perf improvements, `live` output, `assert in` pretty output

Published by darrenburns over 3 years ago

  • Performance improvement to shave ~15% off of test suite run times
  • Adds live output style
  • Add pretty comparison info for in/not in assertion failures

live output

live_output

Assertion info for in/not in

image

All of these changes were contributed by @JoshKarpel!

ward - 0.59.0b0 - Remove termcolor+colorama in favour of Rich for diffs

Published by darrenburns over 3 years ago

Ward now outputs diffs using Rich when when an equality check in an assert fails within a test.

This let us remove the final pieces of colorama and termcolor code from Ward.

ward - 0.58.0b0 - Mostly bugfixes, one feature change

Published by darrenburns over 3 years ago

  • Fixes #140
  • Fixes #239
  • Fixes issue where pyproject.toml defaults were not being applied
  • Fixes issue with dots-module output where it wouldn't display properly if you were in a directory deeper than a running test module.
  • Changes --exclude to work with paths instead of globs.
  • No longer modify sys.modules during collection phase.
  • Fix module.__package__ being set incorrectly in some cases.
  • Fix issue where exclude defined in pyproject.toml was not interacting with CLI supplied --paths correctly.
  • Changes some semantics around running ward with no --path: it now means "run all tests in my project". If you want to get specific, supply a path. If we can't find the project, then running ward is the same as ward --path ..
ward - 0.57.2b0 - Refactoring

Published by darrenburns over 3 years ago

This release contains no user-facing changes.

ward - 0.57.1b0 - Fix issue with subdirectory traversal

Published by darrenburns over 3 years ago

Fixes an issue that was introduced in 0.57.0b0 which prevented Ward from entering nested subdirectories when looking for tests.

ward - 0.57.0b0 - Extensibility via plugins/hooks

Published by darrenburns over 3 years ago

Adds initial support for plugins using Pluggy. In this release, 3 hooks are available: before_session, after_session, and preprocess_tests.

ward - 0.56.0b0 - Upgrade to Click 8, tidying up namespaces

Published by darrenburns over 3 years ago

  • Upgrades Ward to use Click v8 thanks to @AABur.
  • Splits some modules into internal/public, adds docs on some public APIs, more selectively exposes functionality to users.
ward - 0.55.0b0 - test session progress (inline and progress bar)

Published by darrenburns over 3 years ago

Adds --progress-style [inline|bar] % progress through test session to output (enabled by default).

inline

image

bar

image

Thanks again to @JoshKarpel for this contribution 🎉

Package Rankings
Top 29.96% on Conda-forge.org
Top 3.27% on Pypi.org
Badges
Extracted from project README
Codecov Documentation Status PyPI version