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-1.0.0 ๐Ÿ3.10.3  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.15.0b0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

TurboTest-0.15.0b0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for TurboTest-0.15.0b0.tar.gz
Algorithm Hash digest
SHA256 b56529f79cee54900b3d23c23577e57bc12beea22a9cfc876f20b02ac057b6d2
MD5 f5a5dafc86df1cd147c24bab8f18b74d
BLAKE2b-256 658f12a221b0c1bcd3d50f5e3cf25542bf6cdd326ccf7b022d38a4ffcfbb9e67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for TurboTest-0.15.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 20544656aea22ecb97fdb541b91d7fcef30b5c291aa12d5c5be766ff094bad06
MD5 800587b29abb172c174acbf473f408cd
BLAKE2b-256 35d433f28df33c0576d6552e0487c444a0452be9f6b7ac7328ef9be1b9a91e70

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