Skip to main content

Perform fast and detailed unit tests with BuPyTest.

Project description

BuPyTest - Unit Tests

BuPyTest is a library to perform unit tests on your code by classes. You can create tests using classes and run them together in a single file.

With bupytest, you can implement git hooks to automatically run tests using Command Line.

  • Test multiple classes in one file;
  • Test using command line;
  • Test only one file using command line;
  • Test multiple files using command line;

You can install the latest version of BuPyTest using the pip package manager:

pip install bupytest

How to use

Here's a simple tutorial on how to use bupytest in your tests:

In the base class bupytest.BaseTest all tests are executed in the order they were defined (sequential).

import bupytest


class TestFoo(bupytest.UnitTest):
    def __init__(self):
        super().__init__()

    def test_1(self):
        self.assert_true(True, message='A error ocurred')

    def test_2(self):
        false_value = ''
        self.assert_false(false_value, message='Empty string')


if __name__ == '__main__':
    bupytest.this()

With bupytest, you define test classes and the methods, which will be tested. To test a value, you can use the following methods of the bupytest.UnitTest class:

  • UnitTest.assert_true: asserts a true value;
  • UnitTest.assert_false: asserts a false value;
  • UnitTest.assert_expected: asserts an expected value.

All test classes must start with "Test", and all test class methods must start with "test_".

At the end of the file, the bupytest.this method runs the test in this file. That is, all test classes in this file will be executed.

You can also define several other classes in the same file for testing:

import bupytest


class TestFoo(bupytest.UnitTest):
    def __init__(self):
        super().__init__()

    def test_1(self):
        self.assert_true(True, message='A error ocurred')

    def test_2(self):
        false_value = ''
        self.assert_false(false_value, message='Empty string')


class TestBar(bupytest.UnitTest):
    def __init__(self):
        super().__init__()

    def test_1(self):
        self.assert_expected('hello', 'hello')


if __name__ == '__main__':
    bupytest.this()

Command Line

bupytest also has a command line application available to run tests, the script is called bupytest, see some commands and flags (use --help to get help):

Just use the test command to test one module or a directory with multiple modules. Here is an example:

bupytest test test_cookiedb.py

Now testing multiple test modules inside a directory:

bupytest test tests/

License

GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

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

bupytest-1.0.2.tar.gz (16.6 kB view details)

Uploaded Source

File details

Details for the file bupytest-1.0.2.tar.gz.

File metadata

  • Download URL: bupytest-1.0.2.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.28.1 setuptools/63.2.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for bupytest-1.0.2.tar.gz
Algorithm Hash digest
SHA256 33572b8210a66105c19369e2eacee3d8ad3eb879da0e93a45f6d51e9007cb37d
MD5 5a2697ff04894d7b0894490c899f5cf7
BLAKE2b-256 9a8da85df23eaa71d887560b1367df458de5ff5bf61d537a515c0b260476b6bb

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