Pass config options to your unit tests.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytest_cfg_fetcher-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fa2720c4077ee6a7031335a39d8d9eb50f19240bddaf58b48c56979125f9cea |
|
MD5 | 8a250cf7a54e991171ca2dda4e1488de |
|
BLAKE2b-256 | 5661ec9d2055fe4e92fcc840f39e56435c542d3d6a3cd2dd271f90861322df05 |