New issue 703: pytest discovers baseclasses that are imported and attempts to 
run them
https://bitbucket.org/pytest-dev/pytest/issue/703/pytest-discovers-baseclasses-that-are

Anthony Sottile:

```
# testing.py

import unittest


class BaseTest(unittest.TestCase):
    fill_me_out = None

    def test(self):
        assert self.fill_me_out is not None
```


```
# test.py
from testing import BaseTest

class MyTest(BaseTest):
    fill_me_out = 10
```

Expected:

```
$ py.test test.py -vv
============================= test session starts ==============================
platform linux2 -- Python 2.6.7 -- py-1.4.26 -- pytest-2.6.4 -- 
/tmp/venv/bin/python
collected 1 items 

test.py <- testing.py::MyTest::test PASSED

=========================== 1 passed in 0.01 seconds ===========================
```

Actual:

```
$ py.test test.py -vv
============================= test session starts ==============================
platform linux2 -- Python 2.6.7 -- py-1.4.26 -- pytest-2.6.4 -- 
/tmp/venv/bin/python
collected 2 items 

test.py <- testing.py::MyTest::test PASSED
test.py <- testing.py::BaseTest::test FAILED

=================================== FAILURES ===================================
________________________________ BaseTest.test _________________________________

self = <testing.BaseTest testMethod=test>

    def test(self):
>       assert self.fill_me_out is not None
E       AssertionError: assert None is not None
E        +  where None = <testing.BaseTest testMethod=test>.fill_me_out

testing.py:9: AssertionError
====================== 1 failed, 1 passed in 0.01 seconds ======================
```

To clarify the behaviour I want:  classes / functions that are only in a module 
because they are an import side-effect should not be discovered.

Obligatory version:
```
$ py.test --version
This is pytest version 2.6.4, imported from 
/tmp/venv/lib/python2.6/site-packages/pytest.pyc
```



_______________________________________________
pytest-commit mailing list
pytest-commit@python.org
https://mail.python.org/mailman/listinfo/pytest-commit

Reply via email to