Skip to main content

The quick, easy way to write tests in Python.

Project description

astest: assert based testing

The quick, easy way to write tests in Python.

Usage

Get the tool by installing it from pip:

pip install astest

The tool doesn't have to be installed in your project's environment, you can also install it in your global Python (since it has no dependencies).

Then give it a file containing "tests" (explained below):

astest test_file.py

You can also easily run it via pipx:

pipx run astest test_file.py

Test files

astest expects a file that does assert's at runtime.

So to write a test for your code, simply do asserts in your file:

from my_library import add

assert add(12, 13) == 25
assert add(33, 77) == 100  # This one is false
assert add(123, 123) == 246

Running this will look like this:

$ astest examples/simple.py
Test 1..................................................................PASSED
Test 2..................................................................FAILED
Failing test: assert add(33, 77) == 100
Test 3..................................................................PASSED
===================== 1 failed, 2 passed in 0.00 seconds =====================

Debugging

If a test fails and you wish to debug it, you can run astest with --debug:

$ astest examples/simple.py
Test 1..................................................................PASSED
Test 2..................................................................FAILED
Failing test: assert add(33, 77) == 100
Starting debug session:
>>> add(33, 77)
110
>>> # Oh okay.
>>> ^D
Test 3..................................................................PASSED
===================== 1 failed, 2 passed in 0.00 seconds =====================

Local Development / Testing

  • Create and activate a virtual environment
  • Run pip install -r requirements-dev.txt to do an editable install
  • Run pytest to run tests

Type Checking

Run mypy .

Create and upload a package to PyPI

Make sure to bump the version in setup.cfg.

Then run the following commands:

rm -rf build dist
python setup.py sdist bdist_wheel

Then upload it to PyPI using twine:

twine upload dist/*

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

astest-0.1.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

astest-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file astest-0.1.0.tar.gz.

File metadata

  • Download URL: astest-0.1.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for astest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9fab8edd13fcd02ac5ed713a3baf99bf8c1a3e59fa380905b5de3ba59312668b
MD5 75197847420f12003df34db08fd0d5e3
BLAKE2b-256 62816197bab38d055d4326da2ffc9a0e4094b68d16ded3341946de6710468df1

See more details on using hashes here.

File details

Details for the file astest-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: astest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for astest-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a70e631a2e924a3ea5c351465fe604ba08b9fcc2df02bdfb8def4ad30405f09f
MD5 ba72d3831034199ae29d1b333e4f9e0f
BLAKE2b-256 cbd83b3f7e93f7c9af67980668da66645f857564fbf69f18925269e6578b805b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page