<div dir="ltr">the thing is, fixtures have proper dependency injection working<div>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</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 25 September 2014 14:06, Jens Hoffmann <span dir="ltr"><<a href="mailto:jh@solute.de" target="_blank">jh@solute.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    okay, I'll kill them... thank you for your quick responses<div><div class="h5"><br>
    <br>
    <br>
    <div>On 09/25/2014 02:03 PM, Anatoly
      Bubenkov wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">setup_ methods should just die :)
        <div>use fixtures everywhere instead</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 25 September 2014 14:01, Jens
          Hoffmann <span dir="ltr"><<a href="mailto:jh@solute.de" target="_blank">jh@solute.de</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> Okay, writing the
              example I found out what the actual problem is:<br>
              <br>
              <br>
              In the minimal example the fixture *is* executed, before
              any test but *after* my test classes setup_method.<br>
              <br>
              <br>
              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);<br>
              <br>
              <br>
              Am I wrong?<span><font color="#888888"><br>
                  <br>
                  <br>
                  Jens</font></span>
              <div>
                <div><br>
                  <br>
                  <br>
                  <div>On 09/25/2014 01:18 PM, Anatoly Bubenkov wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">please upload fully reproducable
                      small example somewhere
                      <div>or, ideally, create a test and have a PR with
                        it</div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On 25 September 2014
                        13:14, Jens Hoffmann <span dir="ltr"><<a href="mailto:jh@solute.de" target="_blank">jh@solute.de</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div bgcolor="#FFFFFF" text="#000000"> Yes,
                            the directories test and test/module all
                            contain a __init__.py; sorry, that I didnt
                            mention this important info.<br>
                            <br>
                            So from your question I guess that you
                            expect py.test to find and execute
                            conftest.py in all the cases shown?<br>
                            <br>
                            <br>
                            Jens
                            <div>
                              <div><br>
                                <br>
                                <br>
                                <div>On 09/25/2014 01:09 PM, Anatoly
                                  Bubenkov wrote:<br>
                                </div>
                                <blockquote type="cite">
                                  <div dir="ltr">did you add __init__.py
                                    in all folders?<br>
                                  </div>
                                  <div class="gmail_extra"><br>
                                    <div class="gmail_quote">On 25
                                      September 2014 12:35, Jens
                                      Hoffmann <span dir="ltr"><<a href="mailto:jh@solute.de" target="_blank">jh@solute.de</a>></span>
                                      wrote:<br>
                                      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
                                        <br>
                                        <br>
                                        we are working with pytest 2.6.2
                                        and I run into a problem with my
                                        conftest session fixture setup.<br>
                                        <br>
                                        My project structure looks
                                        something like this:<br>
                                        <br>
                                        .<br>
                                        ├── project<br>
                                        │ └── module<br>
                                        │ └── foo.py<br>
                                        └── test<br>
                                        ├── conftest.py<br>
                                        └── module<br>
                                        └── test_foo.py<br>
                                        <br>
                                        <br>
                                        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.<br>
                                        <br>
                                        Now some py.test runs:<br>
                                        <br>
                                        $ py.test<br>
                                        => conftest.py called,
                                        database setup properly, tests
                                        pass<br>
                                        <br>
                                        $ py.test test/module<br>
                                        => tests fail, fixture in
                                        conftest.py not executed<br>
                                        <br>
                                        $ py.test
                                        test/module/test_foo.py<br>
                                        => tests fail, fixture in
                                        conftest.py not executed<br>
                                        <br>
                                        $ py.test -k
                                        MyTestClassContainedInTestFooDotPy<br>
                                        => tests fail, fixture in
                                        conftest.py not executed<br>
                                        <br>
                                        <br>
                                        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.<br>
                                        <br>
                                        <br>
                                        Thank you for your answer,<br>
                                        Jens<br>
                                        <br>
_______________________________________________<br>
                                        Pytest-dev mailing list<br>
                                        <a href="mailto:Pytest-dev@python.org" target="_blank">Pytest-dev@python.org</a><br>
                                        <a href="https://mail.python.org/mailman/listinfo/pytest-dev" target="_blank">https://mail.python.org/mailman/listinfo/pytest-dev</a><br>
                                      </blockquote>
                                    </div>
                                    <br>
                                    <br clear="all">
                                    <div><br>
                                    </div>
                                    -- <br>
                                    <div dir="ltr">Anatoly Bubenkov<br>
                                    </div>
                                  </div>
                                </blockquote>
                                <br>
                              </div>
                            </div>
                            <span><font color="#888888">
                                <div>-- <br>
                                  Jens Hoffmann Softwareentwickler
                                  Datamanagement <a href="http://billiger.de" target="_blank">billiger.de</a>
                                  solute gmbh Zeppelinstraße 15 D-76185
                                  Karlsruhe Tel: <a href="tel:%2B49%20%280%29721%20-%2086956-24" value="+497218695624" target="_blank">+49 (0)721 -
                                    86956-24</a> Fax: <a href="tel:%2B49%20%280%29721%20-%2086956-66" value="+497218695666" target="_blank">+49 (0)721 -
                                    86956-66</a> E-Mail: <a href="mailto:rsc@solute.de" target="_blank">rsc@solute.de</a>
                                  Web: <a href="http://www.billiger.de" target="_blank">http://www.billiger.de</a>
                                  Geschäftsführer: Lorenz Petersen Sitz:
                                  Karlsruhe Registergericht: Amtsgericht
                                  Mannheim Registernummer: HRB 110579
                                  Umsatzsteueridentifikationsnummer:
                                  DE234663798 <a href="http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png" target="_blank">http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png</a></div>
                              </font></span></div>
                        </blockquote>
                      </div>
                      <br>
                      <br clear="all">
                      <div><br>
                      </div>
                      -- <br>
                      <div dir="ltr">Anatoly Bubenkov<br>
                      </div>
                    </div>
                  </blockquote>
                  <br>
                  <div>-- <br>
                    Jens Hoffmann Softwareentwickler Datamanagement <a href="http://billiger.de" target="_blank">billiger.de</a> solute gmbh
                    Zeppelinstraße 15 D-76185 Karlsruhe Tel: <a href="tel:%2B49%20%280%29721%20-%2086956-24" value="+497218695624" target="_blank">+49 (0)721 -
                      86956-24</a> Fax: <a href="tel:%2B49%20%280%29721%20-%2086956-66" value="+497218695666" target="_blank">+49 (0)721 -
                      86956-66</a> E-Mail: <a href="mailto:rsc@solute.de" target="_blank">rsc@solute.de</a>
                    Web: <a href="http://www.billiger.de" target="_blank">http://www.billiger.de</a>
                    Geschäftsführer: Lorenz Petersen Sitz: Karlsruhe
                    Registergericht: Amtsgericht Mannheim
                    Registernummer: HRB 110579
                    Umsatzsteueridentifikationsnummer: DE234663798
                    <a href="http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png" target="_blank">http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png</a></div>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div dir="ltr">Anatoly Bubenkov<br>
        </div>
      </div>
    </blockquote>
    <br>
    <div>-- <br>
      Jens Hoffmann
      Softwareentwickler Datamanagement <a href="http://billiger.de" target="_blank">billiger.de</a> solute gmbh
      Zeppelinstraße 15
      D-76185 Karlsruhe Tel: <a href="tel:%2B49%20%280%29721%20-%2086956-24" value="+497218695624" target="_blank">+49 (0)721 - 86956-24</a>
      Fax: <a href="tel:%2B49%20%280%29721%20-%2086956-66" value="+497218695666" target="_blank">+49 (0)721 - 86956-66</a>
      E-Mail: <a href="mailto:rsc@solute.de" target="_blank">rsc@solute.de</a>
      Web: <a href="http://www.billiger.de" target="_blank">http://www.billiger.de</a>
      Geschäftsführer: Lorenz Petersen Sitz: Karlsruhe
      Registergericht: Amtsgericht Mannheim
      Registernummer: HRB 110579
      Umsatzsteueridentifikationsnummer: DE234663798
<a href="http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png" target="_blank">http://cdn.billiger.com/static/mail/billiger_today_logo_dunkel_20140911.png</a></div>
  </div></div></div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Anatoly Bubenkov<br></div>
</div>