[Pytest-commit] Issue #529: "unique basename" and __init__.py docs (hpk42/pytest)

Thomas Güttler issues-reply at bitbucket.org
Wed Jun 18 12:18:42 CEST 2014


New issue 529: "unique basename" and __init__.py docs
https://bitbucket.org/hpk42/pytest/issue/529/unique-basename-and-__init__py-docs

Thomas Güttler:

Our tests don't have unique basenames, since we use this pattern:

The tests for admin.py is located in tests/unit/test_admin.py

There are several apps in one project which have an admin.py.

This way we get the well known error message:
```
import file mismatch:
imported module 'test_admin' has this __file__ attribute:
  foo/tests/unit/views/test_admin.py
which is not the same as the test file we want to collect:
 bar/tests/unit/test_admin.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
```

Our current solution is to create `__init__.py` files.

This is against the docs:

*avoid “__init__.py” files in your test directories. This way your tests can run easily against an installed version of mypkg, independently from the installed package if it contains the tests or not.
*

Please think about this again. For me, the constraint to have unique base names way to hard. 

Maybe the best solution is to update the docs:

*If you avoid __init__.py files you can ....*

I don't think every one should avoid `__init__.py` files.





More information about the pytest-commit mailing list