Go to file
David Wolever 88e9b7c28e Adding Python3 support
--HG--
extra : rebase_source : eb1da27d678982b5b984d1a968c016a53c2cbd1f
2013-01-15 18:44:07 -05:00
2013-01-15 18:44:07 -05:00
2013-01-15 18:44:07 -05:00
2012-03-09 21:21:50 -08:00
2013-01-15 18:44:07 -05:00
2013-01-15 18:44:07 -05:00

nose-patameterized is a decorator for parameterized testing with nose

Nose. It's got test generators. But they kind of suck, because:

  • They often require a second function
  • They make it difficult to separate the data from the test
  • They don't work with subclases of unittest.TestCase

But nose-parameterized fixes that.

Check it out:

$ cat test_math.py
from nose.tools import assert_equal
from nose_parameterized import parameterized

import unittest
import math

@parameterized([
    (2, 2, 4),
    (2, 3, 8),
    (1, 9, 1),
    (0, 9, 0),
])
def test_pow(base, exponent, expected):
    assert_equal(math.pow(base, exponent), expected)


class TestMathUnitTest(unittest.TestCase):
    @parameterized.expand([
        (-1.5, -2.0),
        (1.0, 1.0),
        (1.6, 1),
    ])
    def test_floor(self, input, expected):
        assert_equal(math.floor(input), expected)
$ nosetests -v test_math.py
test_math.test_pow(2, 2, 4) ... ok
test_math.test_pow(2, 3, 8) ... ok
test_math.test_pow(1, 9, 1) ... ok
test_math.test_pow(0, 9, 0) ... ok
test_floor_0 (test_math.TestMathUnitTest) ... ok
test_floor_1 (test_math.TestMathUnitTest) ... ok
test_floor_2 (test_math.TestMathUnitTest) ... ok

----------------------------------------------------------------------
Ran 7 tests in 0.002s

OK
Description
RETIRED, further work has moved to Debian project infrastructure
Readme 146 KiB
Languages
Python 100%