Skip to main content

Pass config options to your unit tests.

Project description

Relese new version PyPI version

pytest-cfg-fetcher

Unit tests don't take arguments. Sometimes we like to pass an arg or two, e.g. you want to write test results to a file when running locally. This is a simple function to do that.

pytest-cfg-fetcher assumes you have a directory called _test-config/ in the same directory as your unit tests, e.g. under test/. The _test-config/ dir contains a config.json file/

_test-config/config.json contians minimally:

{
    "test_out_path": <path>
}

which is a local path where you might want to write output for tests.

The fetch_config() function takes a single argument, which should be the name of the test that calls it -- the return value is a dict object containing the test_out_path and whatever else you want to pass into your unit tests.

{
    "test_out_path": "test/_test-result",
    "my_test" {
        "my_test_bool_opt": true,
        "my_test_str_opt": "stringalingting"
    }
}

Installation

pip install pytest-cfg-fetcher

Usage

# mytest.py
from pytest-cfg-fetcher.fetch import fetch_config
import unittest

class Test(unittest.TestCase):

    def test_import(self):
        config = fetch_config("my_test")
        ...
        testy stuf
        ...
        test_result = "results of test"
        if config and config['my_test_bool_opt']:
            with open(f"{config['test_out_path']}/{config['my_test_str_opt']}.txt", "w+") as out:
                out.write(test_result)

if __name__ == '__main__':
    unittest.main()

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

pytest_cfg_fetcher-0.1.1.tar.gz (1.9 kB view details)

Uploaded Source

Built Distribution

pytest_cfg_fetcher-0.1.1-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file pytest_cfg_fetcher-0.1.1.tar.gz.

File metadata

  • Download URL: pytest_cfg_fetcher-0.1.1.tar.gz
  • Upload date:
  • Size: 1.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.9.18 Linux/6.2.0-1019-azure

File hashes

Hashes for pytest_cfg_fetcher-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5d7e6c8cec9aac137a54dc95054ce39aa5cc378a7baf09fa322fce58247dabe8
MD5 89b3da3aa2f1831d43647874932cc79f
BLAKE2b-256 8ce26e6af124e4962e218eb3e3e3bbdd8ba8e0579bf9c2f567792f8b274b97c1

See more details on using hashes here.

File details

Details for the file pytest_cfg_fetcher-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_cfg_fetcher-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa2720c4077ee6a7031335a39d8d9eb50f19240bddaf58b48c56979125f9cea
MD5 8a250cf7a54e991171ca2dda4e1488de
BLAKE2b-256 5661ec9d2055fe4e92fcc840f39e56435c542d3d6a3cd2dd271f90861322df05

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