Skip to content

Commit 82b80db

Browse files
Sup3rGeosseliverstov
authored andcommitted
hide self parameter (fixes #222 via #235)
1 parent 26141d0 commit 82b80db

File tree

3 files changed

+41
-2
lines changed

3 files changed

+41
-2
lines changed

allure-pytest/test/steps/parameters/step_parameters_test.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,27 @@ def test_text_type_parameters():
6060
... )
6161
... )
6262
"""
63-
step_with_parameters(u'первый', kwarg_parameter='второй')
63+
step_with_parameters(u'первый', kwarg_parameter='второй')
64+
65+
66+
class StepClass(object):
67+
68+
@allure.step('First step')
69+
def first_step_method(self, arg1):
70+
pass
71+
72+
73+
def test_self_not_in_parameters():
74+
"""
75+
>>> from allure_commons.utils import represent
76+
>>> allure_report = getfixture('allure_report_with_params')('-k test_self_not_in_parameters')
77+
>>> assert_that(allure_report,
78+
... has_test_case('test_self_not_in_parameters',
79+
... has_step('First step',
80+
... has_parameter('arg1', represent('argument one')),
81+
... doesnt_have_parameter('self'),
82+
... )
83+
... )
84+
... )
85+
"""
86+
StepClass().first_step_method('argument one')

allure-python-commons-test/src/result.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
6363
"""
6464

65-
from hamcrest import all_of, anything
65+
from hamcrest import all_of, anything, not_
6666
from hamcrest import equal_to, not_none
6767
from hamcrest import has_entry, has_item
6868
from hamcrest import contains_string, starts_with
@@ -100,6 +100,14 @@ def has_parameter(name, value):
100100
))
101101

102102

103+
def doesnt_have_parameter(name):
104+
return has_entry('parameters',
105+
not_(
106+
has_item(
107+
has_entry('name', equal_to(name)),
108+
)))
109+
110+
103111
def has_link(url, link_type=None, name=None):
104112
return has_entry('links',
105113
has_item(

allure-python-commons/src/utils.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,15 @@ def represent(item):
109109
def func_parameters(func, *a, **kw):
110110
bowels = inspect.getargspec(func) if sys.version_info.major < 3 else inspect.getfullargspec(func)
111111
args_dict = dict(zip(bowels.args, map(represent, a)))
112+
try:
113+
del args_dict["self"]
114+
except KeyError:
115+
pass
112116
kwargs_dict = dict(zip(kw, list(map(lambda i: represent(kw[i]), kw))))
117+
try:
118+
del kwargs_dict["self"]
119+
except KeyError:
120+
pass
113121
kwarg_defaults = dict(zip(reversed(bowels.args), reversed(list(map(represent, bowels.defaults or ())))))
114122
kwarg_defaults.update(kwargs_dict)
115123
return args_dict, kwarg_defaults

0 commit comments

Comments
 (0)