[pytest-dev] top-level conftest.py not recognized when running tests in sub-directories
Jens Hoffmann
jh at solute.de
Thu Sep 25 14:06:11 CEST 2014
okay, I'll kill them... thank you for your quick responses
On 09/25/2014 02:03 PM, Anatoly Bubenkov wrote:
> setup_ methods should just die :)
> use fixtures everywhere instead
>
> On 25 September 2014 14:01, Jens Hoffmann <jh at solute.de
> <mailto:jh at solute.de>> wrote:
>
> 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
> <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/94bfd424/attachment.html>
More information about the Pytest-dev
mailing list