Skip to main content

a simple and readable python testing tool

Project description

TurboTest๐Ÿ”ฅ (still under dev)

Run tests

let's make tests readable and simple

Give it a try

import TurboTest as tt
from my_module.my_function import my_function

def basic_operations():
    result = my_function(2, 3)
    expected = 5
    tt.both_are_equal(result, expected)

def should_raise_AssertionError_for_input_less_than_25():
    with tt.these_will_raise(AssertionError) as its: my_function(21)
    tt.both_are_equal(its.exception_msg, "Invalid: Value is less than 25.")

What you will get:

TurboTest... at '/path/to/my_module'  (Monday, Jan 1, 2024, 13:11:21 UTC-0800)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
[22:00:00] PASS: my_function: basic operation  (3๐Ÿงช|1m2.3s)
[22:00:02] PASS: my_function: should raise AssertionError for input less than 25  (9๐Ÿงช|2m2.1s)
[22:02:00] FAIL: abc123/foo/bar: should do X  (2๐Ÿงช|0m5.1s)
[22:03:00] FAIL: abc123/foo/bar: reject empty string  (17๐Ÿงช|0m0.1s)
[22:05:12] PASS: xyz/abc: exit if X equal to None  (9๐Ÿงช|0m0.7s)
[22:07:45] FAIL: xyz/pqr: return None if Y does not exist  (6๐Ÿงช|2m3.1s)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Done @ 22:09:55, 100 test functions [pass/fail: 61/39] executed in [core/total: 31m2.0s/37m3.1s] ๐Ÿ”ฅ๐Ÿ”ฅ

with color:

[]

Install

  • via PyPI, run this:

    pip install turbotest
    

Misc

Troubleshoot

  • Please note that TurboTest minimizes validations for readability and easier maintenance purposes. The input should align with the function's expectations. For example, if the function specifies x: Exception, please provide only exception-related input, as there are no checks to catch incorrect inputs.

License

This project's source code and documentation are under the MIT license.

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

TurboTest-0.13.0b0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

TurboTest-0.13.0b0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file TurboTest-0.13.0b0.tar.gz.

File metadata

  • Download URL: TurboTest-0.13.0b0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for TurboTest-0.13.0b0.tar.gz
Algorithm Hash digest
SHA256 6112439e3cb04cc795acbb3af526ad9f97d3b52da4bb8fac772c1c0ffeb559f8
MD5 9d7ca1169a19b5dec594ac990d527434
BLAKE2b-256 2875d735b6432b888adaef7b73c84766b67e8efc2429e9cc68a4ff1d37649cc1

See more details on using hashes here.

File details

Details for the file TurboTest-0.13.0b0-py3-none-any.whl.

File metadata

File hashes

Hashes for TurboTest-0.13.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 452e99348bed362f55b344c758c243651ccb3b4c20773912831c1a66e029b4d5
MD5 dda5da0dd0d489dc6c59e28b5b278c7c
BLAKE2b-256 8d11955fd3dd6b59675b429ae83e9192efb0ae7e630d318635d8e488eed80c0c

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