the thing is, fixtures have proper dependency injection working but combing them with oldish setup_ methods doesn't always work properly out of the box - just because it's impossible to determine the 'right' order, because there's no 'right' order, it's all up to you to determine the dependency tree
On 25 September 2014 14:06, Jens Hoffmann <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 >>>> [email protected] >>>> https://mail.python.org/mailman/listinfo/pytest-dev >>>> >>> >>> >>> >>> -- >>> Anatoly Bubenkov >>> >>> >>> -- >>> Jens Hoffmann Softwareentwickler Datamanagement billiger.de solute gmbh >>> Zeppelinstraße 15 D-76185 Karlsruhe Tel: +49 (0)721 - 86956-24 >>> <%2B49%20%280%29721%20-%2086956-24> Fax: +49 (0)721 - 86956-66 >>> <%2B49%20%280%29721%20-%2086956-66> E-Mail: [email protected] 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 >> <%2B49%20%280%29721%20-%2086956-24> Fax: +49 (0)721 - 86956-66 >> <%2B49%20%280%29721%20-%2086956-66> E-Mail: [email protected] 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: [email protected] 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
_______________________________________________ Pytest-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/pytest-dev
