nose expansion for supporting parametrized testing
Project description
nose extension for supporting parametrized testing.
Allows developer to run the same test over and over again using different values
- Main Features:
Very easy to integrate with existing tests
Saves a lot of boilerplate code, and code replication
Work with all nose plugins (including multiprocessing)
Customize setup per test, by using this package built-in nose plugin setup-ittr
Installation:
pip install nose_ittr
Basic usage:
import math
from nose.tools import assert_equal, assert_not_equal
from nose_ittr import IttrMultiplier, ittr
class TestFoo(object):
__metaclass__ = IttrMultiplier
def setup(self):
if hasattr(self, 'value'):
self.value += 3
def teardown(self):
pass
@ittr(number=[1, 2, 3, 4])
def test_even(self):
assert_equal(self.number % 2, 0)
@ittr(numerator=[15, 6], denominator=[2, 3])
def test_no_remainder(self):
assert_equal(self.numerator % self.denominator, 0)
@ittr(value=[4, 14])
def test_prime_with_custom_setup(self):
for i in range(3, int(math.sqrt(self.value))):
assert_not_equal(self.value % i, 0)
nosetests --with-setup-ittr [for setup customization support]
result:
TestFoo.test_even_1 ... FAIL
TestFoo.test_even_2 ... .ok
TestFoo.test_even_3 ... FAIL
TestFoo.test_even_4 ... .ok
TestFoo.test_no_remainder_2_6 ... .ok
TestFoo.test_no_remainder_2_15 ... FAIL
TestFoo.test_no_remainder_3_6 ... .ok
TestFoo.test_no_remainder_3_15 ... .ok
TestFoo.test_prime_with_custom_setup_14 ... ok
TestFoo.test_prime_with_custom_setup_4 ... ok
- Notes:
Doesn’t affect test docstring if used with -v parameter.
To change the docstring printout based on the varibales passed to test, use the plugin nose-docstring-modifier.
- Authors:
Sergey Ragatsky
- Contributors:
Niv Mizrahi
Tal Ben Basat
Nicole Franco
Roy Klinger
Maroun Maroun
0.0.1 (2014-11-26)
Initial release
0.0.2 (2014-11-27)
Added nose plugin to the package to support setup customization per test
0.0.3 (2014-11-27)
Error handling for nose plugin
Typo fix
Support using new.classob
0.0.4 (2014-12-02)
New feature, that allows decorating all class method with ‘__ittr__’ hook
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.