Loading unittest_extra/generator.py +12 −4 Original line number Diff line number Diff line Loading @@ -131,7 +131,7 @@ class test_generator(object): if self.values is None: # __init__ passed a None or no args; single test without arguments wrap = self._make_wrap(tuple(), dict()) setattr(testcase_class, 'test_{0}'.format(wrap.__name__), wrap) self._attach_test(testcase_class, wrap) return elif isinstance(self.values, string_types): values = getattr(testcase_class, self.values) Loading @@ -140,10 +140,11 @@ class test_generator(object): return else: values = self.values for name, func in self._wrap(values): setattr(testcase_class, name, func) for number, func in self._wrap(values): self._attach_test(testcase_class, func, number=number) def _wrap(self, value_list): unnumbered = (len(value_list) == 1) for number, values in enumerate(value_list): if self._is_args_kwds(values): args, kwds = values Loading @@ -157,7 +158,14 @@ class test_generator(object): args = values, kwds = {} wrapper = self._make_wrap(tuple(args), dict(kwds)) yield 'test_{0}_{1}'.format(wrapper.__name__, number), wrapper yield (None if unnumbered else number), wrapper @staticmethod def _attach_test(testcase, func, name=None, number=None): name = 'test_{0}'.format(name or func.__name__) if number is not None: name += '_{0}'.format(number) setattr(testcase, name, func) def _make_wrap(self, args, kwds): @wraps(self.func) Loading Loading
unittest_extra/generator.py +12 −4 Original line number Diff line number Diff line Loading @@ -131,7 +131,7 @@ class test_generator(object): if self.values is None: # __init__ passed a None or no args; single test without arguments wrap = self._make_wrap(tuple(), dict()) setattr(testcase_class, 'test_{0}'.format(wrap.__name__), wrap) self._attach_test(testcase_class, wrap) return elif isinstance(self.values, string_types): values = getattr(testcase_class, self.values) Loading @@ -140,10 +140,11 @@ class test_generator(object): return else: values = self.values for name, func in self._wrap(values): setattr(testcase_class, name, func) for number, func in self._wrap(values): self._attach_test(testcase_class, func, number=number) def _wrap(self, value_list): unnumbered = (len(value_list) == 1) for number, values in enumerate(value_list): if self._is_args_kwds(values): args, kwds = values Loading @@ -157,7 +158,14 @@ class test_generator(object): args = values, kwds = {} wrapper = self._make_wrap(tuple(args), dict(kwds)) yield 'test_{0}_{1}'.format(wrapper.__name__, number), wrapper yield (None if unnumbered else number), wrapper @staticmethod def _attach_test(testcase, func, name=None, number=None): name = 'test_{0}'.format(name or func.__name__) if number is not None: name += '_{0}'.format(number) setattr(testcase, name, func) def _make_wrap(self, args, kwds): @wraps(self.func) Loading