[pytest-dev] top-level conftest.py not recognized when running tests in sub-directories

Jens Hoffmann jh at solute.de
Thu Sep 25 14:01:43 CEST 2014


Okay, writing the example I found out what the actual problem is:


In the minimal example the fixture *is* executed, before any test but 
*after* my test classes setup_method.


I though expect that a session fixture is executed also before a classes 
setup_method (use case: fixture sets up DB, setup_method sets up some 
tables);


Am I wrong?


Jens


On 09/25/2014 01:18 PM, Anatoly Bubenkov wrote:
> please upload fully reproducable small example somewhere
> or, ideally, create a test and have a PR with it
>
> On 25 September 2014 13:14, Jens Hoffmann <jh at solute.de 
> <mailto:jh at solute.de>> wrote:
>
>     Yes, the directories test and test/module all contain a
>     __init__.py; sorry, that I didnt mention this important info.
>
>     So from your question I guess that you expect py.test to find and
>     execute conftest.py in all the cases shown?
>
>
>     Jens
>
>
>
>     On 09/25/2014 01:09 PM, Anatoly Bubenkov wrote:
>>     did you add __init__.py in all folders?
>>
>>     On 25 September 2014 12:35, Jens Hoffmann <jh at solute.de
>>     <mailto:jh at solute.de>> wrote:
>>
>>         Hi,
>>
>>
>>         we are working with pytest 2.6.2 and I run into a problem
>>         with my conftest session fixture setup.
>>
>>         My project structure looks something like this:
>>
>>         .
>>         ├── project
>>         │ └── module
>>         │ └── foo.py
>>         └── test
>>         ├── conftest.py
>>         └── module
>>         └── test_foo.py
>>
>>
>>         conftest.py contains a single fixture with scope="session"
>>         and autouse=True, setting up some database that is needed for
>>         every single unittest. So also test_foo.py depends on that
>>         database setup.
>>
>>         Now some py.test runs:
>>
>>         $ py.test
>>         => conftest.py called, database setup properly, tests pass
>>
>>         $ py.test test/module
>>         => tests fail, fixture in conftest.py not executed
>>
>>         $ py.test test/module/test_foo.py
>>         => tests fail, fixture in conftest.py not executed
>>
>>         $ py.test -k MyTestClassContainedInTestFooDotPy
>>         => tests fail, fixture in conftest.py not executed
>>
>>
>>         Now my question/problem: Are all these outcoms expected
>>         behaviour? I hoped that all the runs would pass, that is
>>         execute my session fixture so that I wont need to always run
>>         my whole test suite.
>>
>>
>>         Thank you for your answer,
>>         Jens
>>
>>         _______________________________________________
>>         Pytest-dev mailing list
>>         Pytest-dev at python.org <mailto:Pytest-dev at python.org>
>>         https://mail.python.org/mailman/listinfo/pytest-dev
>>
>>
>>
>>
>>     -- 
>>     Anatoly Bubenkov
>
>     -- 
>     Jens Hoffmann Softwareentwickler Datamanagement billiger.de
>     <http://billiger.de> solute gmbh Zeppelinstraße 15 D-76185
>     Karlsruhe Tel: +49 (0)721 - 86956-24
>     <tel:%2B49%20%280%29721%20-%2086956-24> Fax: +49 (0)721 - 86956-66
>     <tel:%2B49%20%280%29721%20-%2086956-66> E-Mail: rsc at solute.de
>     <mailto:rsc at solute.de> Web: http://www.billiger.de
>     Geschäftsführer: Lorenz Petersen Sitz: Karlsruhe Registergericht:
>     Amtsgericht Mannheim Registernummer: HRB 110579
>     Umsatzsteueridentifikationsnummer: DE234663798
>     http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png
>
>
>
>
> -- 
> Anatoly Bubenkov

-- 
Jens Hoffmann Softwareentwickler Datamanagement billiger.de solute gmbh 
Zeppelinstraße 15 D-76185 Karlsruhe Tel: +49 (0)721 - 86956-24 Fax: +49 
(0)721 - 86956-66 E-Mail: rsc at solute.de Web: http://www.billiger.de 
Geschäftsführer: Lorenz Petersen Sitz: Karlsruhe Registergericht: 
Amtsgericht Mannheim Registernummer: HRB 110579 
Umsatzsteueridentifikationsnummer: DE234663798 
http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pytest-dev/attachments/20140925/d039c032/attachment.html>


More information about the Pytest-dev mailing list