A module for generating tests from data with unittest
Project description
A module for generating tests from data with unittest
The following test code will generate 10 tests:
import unittest from gentests import gentests, vals def my_less_than(a,b): '''Broken function to test''' return a <= b @gentests class TestSomething(unittest.TestCase): @vals([ 'val_0', 'val_1', 'val_2' ]) def test_False(self, value): '''Test that fails''' self.assertFalse(True) @vals([ 'val_0', 'val_1', 'val_2' ]) def test_True(self, value): '''Test that passes''' self.assertTrue(True) def name_test(original_name, left, right, result): '''Explicitly name our tests based on our arguments''' return '{0}_my_less_than_{1}_{2}_is_{3}'.format( original_name, str(left), str(right), str(result) ) @vals([ (0, 1, True), (0, 0, False), #Fails (0, 2, True), (2, 1, False), ], name=name_test) #pass optional naming function def test_MyLessThan(self, left, right, result): '''Test where some pass and some fail''' self.assertEqual(my_less_than(left, right), result) if __name__ == '__main__': unittest.main()
that produce the following output:
FFFF...... ====================================================================== FAIL: test_False_gentest_0 (test.TestSomething) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\gentests.py", line 17, in <lambda> return lambda other_self: base_func(other_self, *args) File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\test.py", line 19, in test_False self.assertFalse(True) AssertionError: True is not false ====================================================================== FAIL: test_False_gentest_1 (test.TestSomething) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\gentests.py", line 17, in <lambda> return lambda other_self: base_func(other_self, *args) File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\test.py", line 19, in test_False self.assertFalse(True) AssertionError: True is not false ====================================================================== FAIL: test_False_gentest_2 (test.TestSomething) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\gentests.py", line 17, in <lambda> return lambda other_self: base_func(other_self, *args) File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\test.py", line 19, in test_False self.assertFalse(True) AssertionError: True is not false ====================================================================== FAIL: test_MyLessThan_my_less_than_0_0_is_False (test.TestSomething) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\gentests.py", line 17, in <lambda> return lambda other_self: base_func(other_self, *args) File "C:\Users\Redirection\windoj9\Documents\repos\GenTests\test.py", line 47, in test_MyLessThan self.assertEqual(my_less_than(left, right), result) AssertionError: True != False ---------------------------------------------------------------------- Ran 10 tests in 0.006s FAILED (failures=4)
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
gentests-1.0.0.dev1.zip
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for gentests-1.0.0.dev1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2cf5c886e78ee955986404592c3df323572227cf1014b5c06d39a03fef73d20 |
|
MD5 | 77490afd36f2340a48185c3db2589e29 |
|
BLAKE2b-256 | c0422378910fb65139898146c17c9e8c8c330b852f9ce1b009ecf215adaab9f4 |