Skip to main content

Parameterized tests for Python's unittest module

Project description

https://secure.travis-ci.org/msabramo/python_unittest_parameterized_test_case.png?branch=master

Parameterized tests for Python’s unittest module

This was inspired by the parameterized tests feature in py.test. I had been using py.test for the particular test that motivated this, but my colleague had some reservations about using py.test and all I really needed was the parameterized tests so I whipped this up with a bit of metaclass hackery.

Example usage:

from parameterizedtestcase import ParameterizedTestCase


class MyTests(ParameterizedTestCase):
    @ParameterizedTestCase.parameterize(("input", "expected_output"), [
        ("2+4", 6),
        ("3+5", 8),
        ("6*9", 54),
    ])
    def test_eval(self, input, expected_output):
        self.assertEqual(eval(input), expected_output)

Result of running this:

~/dev/git-repos/python_unittest_parameterized_test_case$ python -m unittest -v tests
test_eval_input_2+4_expected_output_6 (tests.MyTests) ... ok
test_eval_input_3+5_expected_output_8 (tests.MyTests) ... ok
test_eval_input_6*9_expected_output_54 (tests.MyTests) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK

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

parameterizedtestcase-0.0.2.tar.gz (3.2 kB view hashes)

Uploaded source

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