%global _empty_manifest_terminate_build 0 Name: python-ward Version: 0.67.2b0 Release: 1 Summary: A modern Python testing framework License: MIT URL: https://ward.readthedocs.io Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e2/0a/e5ef7ff725b11e9fe08549dc2b8825c3e068a21ed98c78d12b0e76e15246/ward-0.67.2b0.tar.gz BuildArch: noarch Requires: python3-click Requires: python3-rich Requires: python3-tomli Requires: python3-pprintpp Requires: python3-cucumber-tag-expressions Requires: python3-click-default-group Requires: python3-click-completion Requires: python3-pluggy %description [![Codecov](https://codecov.io/gh/darrenburns/ward/branch/master/graph/badge.svg)](https://codecov.io/gh/darrenburns/ward) [![Documentation Status](https://readthedocs.org/projects/ward/badge/?version=latest)](https://ward.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/ward.svg)](https://badge.fury.io/py/ward)
_Ward_ is a Python testing framework with a focus on productivity and readability. It gives you the tools you need to write **well-documented** and **scalable** tests. Ward typical test output example ## Features See the full set of features in the [**documentation**](https://ward.readthedocs.io). **Descriptive test names:** describe what your tests do using strings, not function names. ```python @test("simple addition") # you can use markdown in these descriptions! def _(): assert 1 + 2 == 3 # you can use plain assert statements! ``` **Modular test dependencies:** manage test setup/teardown code using fixtures that rely on Python's import system, not name matching. ```python @fixture def user(): return User(name="darren") @test("the user is called darren") def _(u=user): assert u.name == "darren" ``` **Support for asyncio**: define your tests and fixtures with `async def` and call asynchronous code within them. ```python @fixture async def user(): u = await create_user() return await u.login() @test("the logged in user has a last session date") async def _(user=user): last_session = await get_last_session_date(user.id) assert is_recent(last_session, get_last_session_date) ``` **Powerful test selection:** limit your test run not only by matching test names/descriptions, but also on the code contained in the body of the test. ``` ward --search "Database.get_all_users" ``` Or use tag expressions for more powerful filtering. ``` ward --tags "(unit or integration) and not slow" ``` **Parameterised testing:** write a test once, and run it multiple times with different inputs by writing it in a loop. ```python for lhs, rhs, res in [ (1, 1, 2), (2, 3, 5), ]: @test("simple addition") def _(left=lhs, right=rhs, result=res): assert left + right == result ``` **Cross platform:** Tested on Mac OS, Linux, and Windows. **Speedy:** Ward's suite of ~320 tests run in less than half a second on my machine. **Zero config:** Sensible defaults mean running `ward` with no arguments is enough to get started. Can be configured using `pyproject.toml` or the command line if required. **Extendable:** Ward has a plugin system built with pluggy, the same framework used by pytest. **Colourful, human readable output:** quickly pinpoint and fix issues with detailed output for failing tests. Ward failing test output example ## Getting Started Have a look at the [**documentation**](https://ward.readthedocs.io)! ## How to Contribute Contributions are very welcome and encouraged! See the [contributing guide](.github/CONTRIBUTING.md) for information on how you can take part in the development of Ward. %package -n python3-ward Summary: A modern Python testing framework Provides: python-ward BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-ward [![Codecov](https://codecov.io/gh/darrenburns/ward/branch/master/graph/badge.svg)](https://codecov.io/gh/darrenburns/ward) [![Documentation Status](https://readthedocs.org/projects/ward/badge/?version=latest)](https://ward.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/ward.svg)](https://badge.fury.io/py/ward)
_Ward_ is a Python testing framework with a focus on productivity and readability. It gives you the tools you need to write **well-documented** and **scalable** tests. Ward typical test output example ## Features See the full set of features in the [**documentation**](https://ward.readthedocs.io). **Descriptive test names:** describe what your tests do using strings, not function names. ```python @test("simple addition") # you can use markdown in these descriptions! def _(): assert 1 + 2 == 3 # you can use plain assert statements! ``` **Modular test dependencies:** manage test setup/teardown code using fixtures that rely on Python's import system, not name matching. ```python @fixture def user(): return User(name="darren") @test("the user is called darren") def _(u=user): assert u.name == "darren" ``` **Support for asyncio**: define your tests and fixtures with `async def` and call asynchronous code within them. ```python @fixture async def user(): u = await create_user() return await u.login() @test("the logged in user has a last session date") async def _(user=user): last_session = await get_last_session_date(user.id) assert is_recent(last_session, get_last_session_date) ``` **Powerful test selection:** limit your test run not only by matching test names/descriptions, but also on the code contained in the body of the test. ``` ward --search "Database.get_all_users" ``` Or use tag expressions for more powerful filtering. ``` ward --tags "(unit or integration) and not slow" ``` **Parameterised testing:** write a test once, and run it multiple times with different inputs by writing it in a loop. ```python for lhs, rhs, res in [ (1, 1, 2), (2, 3, 5), ]: @test("simple addition") def _(left=lhs, right=rhs, result=res): assert left + right == result ``` **Cross platform:** Tested on Mac OS, Linux, and Windows. **Speedy:** Ward's suite of ~320 tests run in less than half a second on my machine. **Zero config:** Sensible defaults mean running `ward` with no arguments is enough to get started. Can be configured using `pyproject.toml` or the command line if required. **Extendable:** Ward has a plugin system built with pluggy, the same framework used by pytest. **Colourful, human readable output:** quickly pinpoint and fix issues with detailed output for failing tests. Ward failing test output example ## Getting Started Have a look at the [**documentation**](https://ward.readthedocs.io)! ## How to Contribute Contributions are very welcome and encouraged! See the [contributing guide](.github/CONTRIBUTING.md) for information on how you can take part in the development of Ward. %package help Summary: Development documents and examples for ward Provides: python3-ward-doc %description help [![Codecov](https://codecov.io/gh/darrenburns/ward/branch/master/graph/badge.svg)](https://codecov.io/gh/darrenburns/ward) [![Documentation Status](https://readthedocs.org/projects/ward/badge/?version=latest)](https://ward.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/ward.svg)](https://badge.fury.io/py/ward)
_Ward_ is a Python testing framework with a focus on productivity and readability. It gives you the tools you need to write **well-documented** and **scalable** tests. Ward typical test output example ## Features See the full set of features in the [**documentation**](https://ward.readthedocs.io). **Descriptive test names:** describe what your tests do using strings, not function names. ```python @test("simple addition") # you can use markdown in these descriptions! def _(): assert 1 + 2 == 3 # you can use plain assert statements! ``` **Modular test dependencies:** manage test setup/teardown code using fixtures that rely on Python's import system, not name matching. ```python @fixture def user(): return User(name="darren") @test("the user is called darren") def _(u=user): assert u.name == "darren" ``` **Support for asyncio**: define your tests and fixtures with `async def` and call asynchronous code within them. ```python @fixture async def user(): u = await create_user() return await u.login() @test("the logged in user has a last session date") async def _(user=user): last_session = await get_last_session_date(user.id) assert is_recent(last_session, get_last_session_date) ``` **Powerful test selection:** limit your test run not only by matching test names/descriptions, but also on the code contained in the body of the test. ``` ward --search "Database.get_all_users" ``` Or use tag expressions for more powerful filtering. ``` ward --tags "(unit or integration) and not slow" ``` **Parameterised testing:** write a test once, and run it multiple times with different inputs by writing it in a loop. ```python for lhs, rhs, res in [ (1, 1, 2), (2, 3, 5), ]: @test("simple addition") def _(left=lhs, right=rhs, result=res): assert left + right == result ``` **Cross platform:** Tested on Mac OS, Linux, and Windows. **Speedy:** Ward's suite of ~320 tests run in less than half a second on my machine. **Zero config:** Sensible defaults mean running `ward` with no arguments is enough to get started. Can be configured using `pyproject.toml` or the command line if required. **Extendable:** Ward has a plugin system built with pluggy, the same framework used by pytest. **Colourful, human readable output:** quickly pinpoint and fix issues with detailed output for failing tests. Ward failing test output example ## Getting Started Have a look at the [**documentation**](https://ward.readthedocs.io)! ## How to Contribute Contributions are very welcome and encouraged! See the [contributing guide](.github/CONTRIBUTING.md) for information on how you can take part in the development of Ward. %prep %autosetup -n ward-0.67.2b0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-ward -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 10 2023 Python_Bot - 0.67.2b0-1 - Package Spec generated