https://github.com/bigbuildbench/darrenburns_ward

https://github.com/bigbuildbench/darrenburns_ward

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BigBuildBench
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 0 Bytes
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct

README.md

Codecov Documentation Status PyPI version


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.

[!IMPORTANT]
I am no longer actively maintaining this project.

Ward typical test output example

Features

See the full set of features in the documentation.

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): lastsession = await getlastsessiondate(user.id) assert isrecent(lastsession, getlastsessiondate) ```

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!

How to Contribute

Contributions are very welcome and encouraged!

See the contributing guide for information on how you can take part in the development of Ward.

Owner

  • Name: BigBuildBench
  • Login: BigBuildBench
  • Kind: organization

abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.

GitHub Events

Total
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 2
  • Pull request event: 3
  • Create event: 3
Last Year
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 2
  • Pull request event: 3
  • Create event: 3

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 months
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (4)
Top Labels
Issue Labels
Pull Request Labels
dependencies (4)

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.0.0 composite
  • snok/install-poetry v1 composite
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.0.0 composite
  • snok/install-poetry v1.3.1 composite
docs/requirements.txt pypi
  • Sphinx ==4.0.2
  • sphinx-copybutton ==0.3.1
  • sphinx-rtd-theme ==0.5.2
pyproject.toml pypi
  • pre-commit ^2.13.0 develop
  • Sphinx ^3.5.1 docs
  • sphinx-rtd-theme ^0.5.1 docs
  • python ^3.7.8
  • coverage ^5.1 test
tests/resources/sample_test_dirs/deeply_nested/pyproject.toml pypi