Skip to content

Commit 1737a13

Browse files
committed
parametrize_with_cases can get argnames as list
1 parent 09eae11 commit 1737a13

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

pytest_cases/case_parametrizer_new.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
pass
4040

4141

42-
def parametrize_with_cases(argnames, # type: str
42+
def parametrize_with_cases(argnames, # type: Union[str, List[str]]
4343
cases=AUTO, # type: Union[Callable, Type, ModuleRef]
4444
prefix=CASE_PREFIX_FUN, # type: str
4545
glob=None, # type: str

pytest_cases/fixture_parametrize_plus.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -800,24 +800,25 @@ def _get_argnames_argvalues(argnames=None, argvalues=None, **args):
800800
# simplify if needed to comply with pytest.mark.parametrize
801801
if len(argnames) == 1:
802802
argvalues = [l[0] if not is_marked_parameter_value(l) else l for l in argvalues]
803+
return argnames, argvalues
803804

804805
elif isinstance(argnames, string_types):
805806
# (2) argnames + argvalues, as usual. However **args can also be passed and should be added
806807
argnames = get_param_argnames_as_list(argnames)
807808

808-
if argvalues is None:
809-
raise ValueError("No argvalues provided while argnames are provided")
809+
if argvalues is None:
810+
raise ValueError("No argvalues provided while argnames are provided")
810811

811-
# transform argvalues to a list (it can be a generator)
812-
try:
813-
argvalues = list(argvalues)
814-
except TypeError:
815-
raise InvalidParamsList(argvalues)
816-
817-
# append **args
818-
if len(kw_argnames) > 0:
819-
argnames, argvalues = cart_product_pytest((argnames, kw_argnames),
820-
(argvalues, kw_argvalues))
812+
# transform argvalues to a list (it can be a generator)
813+
try:
814+
argvalues = list(argvalues)
815+
except TypeError:
816+
raise InvalidParamsList(argvalues)
817+
818+
# append **args
819+
if len(kw_argnames) > 0:
820+
argnames, argvalues = cart_product_pytest((argnames, kw_argnames),
821+
(argvalues, kw_argvalues))
821822

822823
return argnames, argvalues
823824

0 commit comments

Comments
 (0)