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.14.0b0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: TurboTest-0.14.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.14.0b0.tar.gz
Algorithm Hash digest
SHA256 434d7726cf971cdf677e656938a7adff9424729d11e226e2d1eee52af2d70ed7
MD5 3b02551e933227748da465e3ed9062a7
BLAKE2b-256 1392fd70a39bb4b8d05853e095a7a41c0aa49691d68560e003e59b839c2a0a58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for TurboTest-0.14.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 274612593f3b97b1a13401a9e24116a4c89eca530109ef64895328fff4e3f3f5
MD5 1a2e6f43adca1dc6f276038367cb3302
BLAKE2b-256 353e8847d9220eb444e290796340de0ca331521a65ecb0f38d8d9957c3565b02

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