Okay, I clearly get what Guido said, but I say: let the folks do what they want to! pytest now kind of forces me to think like Guido;

Jens



On 09/25/2014 02:23 PM, Anatoly Bubenkov wrote:
exactly, just throw away all those classes - Guido said, classes are NOT namespaces you might only need classes for the polymorphism, but it's no-use in the tests

On 25 September 2014 14:20, Jens Hoffmann <[email protected] <mailto:[email protected]>> wrote:

    This gives me a little pain, since I always liked to organize my
    tests OO-like, with classes etc; the docs call pytest fixtures:
    explicit, modular, scalable; but for me "decorating classes and
    methods" is a tiny bit of magic that forces me to leave the pure
    OO way and to think a little more functional;


    Jens



    On 09/25/2014 02:09 PM, Anatoly Bubenkov wrote:
    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]
    <mailto:[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]
        <mailto:[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]
            <mailto:[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] <mailto:[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]
                    <mailto:[email protected]>
                    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:
                [email protected] <mailto:[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 <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:
            [email protected] <mailto:[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
        <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:
        [email protected] <mailto:[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
    <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: [email protected]
    <mailto:[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 billiger.de solute gmbh _______________________________________________________________ [email protected] http://www.billiger.de http://www.solute.de _______________________________________________________________ Office Karlsruhe Zeppelinstraße 15 D-76185 Karlsruhe Tel: ... Fax: ... _______________________________________________________________ Geschäftsführer: Lorenz Petersen Sitz: Karlsruhe Registergericht: Amtsgericht Mannheim Registernummer: HRB 110579 Umsatzsteueridentifikationsnummer: DE234663798
_______________________________________________
Pytest-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to