New issue 509: A namedtuple named Testcase with != 1 parameter in scope breaks test suite https://bitbucket.org/hpk42/pytest/issue/509/a-namedtuple-named-testcase-with-1
Øyvind Øvergaard: I wrote tests for some code which happened to have a namedtuple named Testcase. importing the Testcase namedtuple into the test's scope breaks the test suite in pytest, my Testcase namedtuple seems to override some internal thing named Testcase (see stack trace). Having a class named Testcase in scope, however, doesn't seem to cause any problems. ``` $ cat test_pytest_testcase_bug.py # from collections import namedtuple # Testcase = namedtuple('Testcase', ['foo', 'bar', 'baz', 'quux']) class Testcase(object): def __init__(self, foo, bar, baz, quux): pass def test_Testcase_in_scope_breaks_pytest(): pass ``` ``` $ py.test-2.7 test_pytest_testcase_bug.py ============================ test session starts ============================= platform darwin -- Python 2.7.6 -- py-1.4.20 -- pytest-2.5.2 plugins: cov collected 1 items / 1 errors test_pytest_testcase_bug.py . =================================== ERRORS =================================== ________________ ERROR collecting test_pytest_testcase_bug.py ________________ /usr/local/lib/python2.7/site-packages/_pytest/runner.py:139: in __init__ > self.result = func() /usr/local/lib/python2.7/site-packages/_pytest/main.py:419: in _memocollect > return self._memoizedcall('_collected', lambda: list(self.collect())) /usr/local/lib/python2.7/site-packages/_pytest/main.py:296: in _memoizedcall > res = function() /usr/local/lib/python2.7/site-packages/_pytest/main.py:419: in <lambda> > return self._memoizedcall('_collected', lambda: list(self.collect())) /usr/local/lib/python2.7/site-packages/_pytest/python.py:526: in collect > self.session._fixturemanager.parsefactories(self) /usr/local/lib/python2.7/site-packages/_pytest/python.py:1661: in parsefactories > holderobj = node_or_obj.obj /usr/local/lib/python2.7/site-packages/_pytest/python.py:247: in fget > self._obj = obj = self._getobj() /usr/local/lib/python2.7/site-packages/_pytest/python.py:522: in _getobj > obj = self.parent.obj() E TypeError: __new__() takes exactly 5 arguments (1 given) ===================== 1 passed, 1 error in 0.05 seconds ====================== ``` _______________________________________________ pytest-commit mailing list pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit