Skip to content

kalekundert/parametrize_from_file

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Parametrize From File

https://img.shields.io/github/actions/workflow/status/kalekundert/parametrize_from_file/test_and_release.yml?branch=master https://img.shields.io/github/last-commit/kalekundert/parametrize_from_file?logo=github

Parametrize From File is a library for reading unit test parameters from config files. It works with the pytest framework. Below is the basic workflow that this package enables:

  • Write test cases in a JSON, YAML, TOML, or NestedText file:

    # test_misc.yml
    test_addition:
      - a: 1
        b: 2
        c: 3
    
      - a: 2
        b: 4
        c: 6
    
  • Decorate the corresponding test functions with @parametrize_from_file:

    # test_misc.py
    import parametrize_from_file
    
    @parametrize_from_file
    def test_addition(a, b, c):
        assert a + b == c
    
  • Run pytest as usual:

    $ pytest
    ============================= test session starts ==============================
    platform linux -- Python 3.8.2, pytest-6.2.4, py-1.9.0, pluggy-0.13.1
    rootdir: /home/kale/hacking/projects/parametrize_from_file, configfile: pyproject.toml
    plugins: forked-1.1.3, anyio-3.1.0, xonsh-0.9.27, typeguard-2.12.1, cov-2.8.1, xdist-1.32.0, hypothesis-5.8.3, mock-2.0.0
    collected 1 item
    
    test_misc.py ..                                                          [100%]
    
    ============================== 1 passed in 0.12s ===============================
    

Refer to the online documentation for more information.