python_wrap_cases.generators package¶
Submodules¶
python_wrap_cases.generators.base_generator module¶
Module with base generator
-
class
python_wrap_cases.generators.base_generator.
BaseGenerator
[source]¶ Bases:
object
Base class for all generators
-
dependent
= False¶
-
generate_cases
(arg_index, key, *args, **kwargs)[source]¶ Generate test case. This method must be implement in all generators :param arg_index: index of current element position
in argument in wrap_case. Use it to parse argParameters: - key – key word of current argument. Use it to parse kwargs
- args (list) – all wrap_case arguments
- kwargs (dict) – all named arguments in wrap_case
Returns: List of new argument that should be used instead of this one
Return type: list
-
python_wrap_cases.generators.custom_generator module¶
-
class
python_wrap_cases.generators.custom_generator.
CustomGenerator
(func)[source]¶ Bases:
python_wrap_cases.generators.base_generator.BaseGenerator
-
dependent
= True¶
-
generate_cases
(arg_index, key, *args, **kwargs)¶
-
python_wrap_cases.generators.func_generator module¶
-
class
python_wrap_cases.generators.func_generator.
FuncGenerator
(func)[source]¶ Bases:
python_wrap_cases.generators.base_generator.BaseGenerator
-
generate_cases
(arg_index, key, *args, **kwargs)¶
-
python_wrap_cases.generators.generatorst_factory module¶
python_wrap_cases.generators.list_generator module¶
Module with list generator
This generator may be use for generate list of wrap cases
Example:
@wrap_case
class ListGeneratorTests(unittest.TestCase):
@wrap_case(number__list=[0, 1, 2, 3])
def test_div_1(self, number):
self.assertEqual(number/1, number)
This code equal to this one:
@wrap_case
class ListGeneratorTests(unittest.TestCase):
@wrap_case(number=0)
@wrap_case(number=1)
@wrap_case(number=2)
@wrap_case(number=3)
def test_div_1(self, number):
self.assertEqual(number/1, number)
If you use two or more list generator in wrap_case, library generate all possible combination of arguments from these lists.
@wrap_case
class TestWithTwoListGenerators(unittest.TestCase):
@wrap_case(a__list=[1, 2], b__list=[0, 1])
def test_gte(self, a, b):
self.assertTrue(a >= b)
it`s equal to
@wrap_case
class TestWithoutListGenerators(unittest.TestCase):
@wrap_case(a=1, b=0)
@wrap_case(a=1, b=1)
@wrap_case(a=2, b=0)
@wrap_case(a=2, b=1)
def test_gte(self, a, b):
self.assertTrue(a >= b)
.. py:class:: ListGenerator(collection)
module: python_wrap_cases.generators.list_generator Bases:
python_wrap_cases.generators.base_generator.BaseGenerator
Generate tests based on lest of arguments.
This generator will generate all possible variant of cases
python_wrap_cases.generators.range_generator module¶
-
class
python_wrap_cases.generators.range_generator.
RangeGenerator
(args)[source]¶ Bases:
python_wrap_cases.generators.base_generator.BaseGenerator
-
generate_cases
(arg_index, key, *args, **kwargs)¶
-
python_wrap_cases.generators.sync_list_generator module¶
-
class
python_wrap_cases.generators.sync_list_generator.
SyncListGenerator
(collection)[source]¶ Bases:
python_wrap_cases.generators.base_generator.BaseGenerator
-
generate_cases
(arg_index, key, *args, **kwargs)¶
-
get_current_index
(*args, **kwargs)¶
-
get_sync_generators
(*args, **kwargs)¶
-
register_dependency
(arg_index, key, collection)¶
-