Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 7f671eb35339cf812de52087b0d93519 > files > 226

python3-pytest-2.3.5-3.fc18.noarch.rpm



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>pytest-2.3: improved fixtures / better unittest integration</title>
    
    <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.3.4.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="None" href="../index.html" />
    <link rel="up" title="Release announcements" href="index.html" />
    <link rel="next" title="pytest-2.2.4: bug fixes, better junitxml/unittest/python3 compat" href="release-2.2.4.html" />
    <link rel="prev" title="pytest-2.3.1: fix regression with factory functions" href="release-2.3.1.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="release-2.2.4.html" title="pytest-2.2.4: bug fixes, better junitxml/unittest/python3 compat"
             accesskey="N">next</a></li>
        <li class="right" >
          <a href="release-2.3.1.html" title="pytest-2.3.1: fix regression with factory functions"
             accesskey="P">previous</a> |</li>
        <li><a href="../contents.html">pytest-2.3.4.1</a> &raquo;</li>
          <li><a href="index.html" accesskey="U">Release announcements</a> &raquo;</li>
 
<g:plusone></g:plusone>

      </ul>
    </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
<div id="searchbox" style="display: none">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" size="18" />
      <input type="submit" value="Search" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>

<h3>quicklinks</h3>
<div style="text-align: left; font-size: 100%; vertical-align: middle;">
<table>
<tr>
<td>
        <a href="../index.html">home</a>
</td><td>
        <a href="../contents.html">TOC/contents</a>
</td></tr><tr><td>
        <a href="../getting-started.html">install</a>
</td><td>
        <a href="../changelog.html">changelog</a>
</td></tr><tr><td>
        <a href="../example/index.html">examples</a>
</td><td>
        <a href="../customize.html">customize</a>
</td></tr><tr><td>
        <a href="https://bitbucket.org/hpk42/pytest/issues?status=new&status=open">issues[bb]</a>
</td><td>
        <a href="../contact.html">contact</a>
</td></tr></table>
</div>

  <h3><a href="../contents.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">pytest-2.3: improved fixtures / better unittest integration</a><ul>
<li><a class="reference internal" href="#changes-between-2-2-4-and-2-3-0">Changes between 2.2.4 and 2.3.0</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="release-2.3.1.html"
                        title="previous chapter">pytest-2.3.1: fix regression with factory functions</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="release-2.2.4.html"
                        title="next chapter">pytest-2.2.4: bug fixes, better junitxml/unittest/python3 compat</a></p>
        </div>
      </div>

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="pytest-2-3-improved-fixtures-better-unittest-integration">
<h1>pytest-2.3: improved fixtures / better unittest integration<a class="headerlink" href="#pytest-2-3-improved-fixtures-better-unittest-integration" title="Permalink to this headline">¶</a></h1>
<p>pytest-2.3 comes with many major improvements for fixture/funcarg management
and parametrized testing in Python.  It is now easier, more efficient and
more predicatable to re-run the same tests with different fixture
instances.  Also, you can directly declare the caching &#8220;scope&#8221; of
fixtures so that dependent tests throughout your whole test suite can
re-use database or other expensive fixture objects with ease.  Lastly,
it&#8217;s possible for fixture functions (formerly known as funcarg
factories) to use other fixtures, allowing for a completely modular and
re-useable fixture design.</p>
<p>For detailed info and tutorial-style examples, see:</p>
<blockquote>
<div><a class="reference external" href="http://pytest.org/latest/fixture.html">http://pytest.org/latest/fixture.html</a></div></blockquote>
<p>Moreover, there is now support for using pytest fixtures/funcargs with
unittest-style suites, see here for examples:</p>
<blockquote>
<div><a class="reference external" href="http://pytest.org/latest/unittest.html">http://pytest.org/latest/unittest.html</a></div></blockquote>
<p>Besides, more unittest-test suites are now expected to &#8220;simply work&#8221;
with pytest.</p>
<p>All changes are backward compatible and you should be able to continue
to run your test suites and 3rd party plugins that worked with
pytest-2.2.4.</p>
<p>If you are interested in the precise reasoning (including examples) of the
pytest-2.3 fixture evolution, please consult
<a class="reference external" href="http://pytest.org/latest/funcarg_compare.html">http://pytest.org/latest/funcarg_compare.html</a></p>
<p>For general info on installation and getting started:</p>
<blockquote>
<div><a class="reference external" href="http://pytest.org/latest/getting-started.html">http://pytest.org/latest/getting-started.html</a></div></blockquote>
<p>Docs and PDF access as usual at:</p>
<blockquote>
<div><a class="reference external" href="http://pytest.org">http://pytest.org</a></div></blockquote>
<p>and more details for those already in the knowing of pytest can be found
in the CHANGELOG below.</p>
<p>Particular thanks for this release go to Floris Bruynooghe, Alex Okrushko
Carl Meyer, Ronny Pfannschmidt, Benjamin Peterson and Alex Gaynor for helping
to get the new features right and well integrated.  Ronny and Floris
also helped to fix a number of bugs and yet more people helped by
providing bug reports.</p>
<p>have fun,
holger krekel</p>
<div class="section" id="changes-between-2-2-4-and-2-3-0">
<h2>Changes between 2.2.4 and 2.3.0<a class="headerlink" href="#changes-between-2-2-4-and-2-3-0" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">fix issue202 - better automatic names for parametrized test functions</p>
</li>
<li><p class="first">fix issue139 - introduce &#64;pytest.fixture which allows direct scoping
and parametrization of funcarg factories.  Introduce new &#64;pytest.setup
marker to allow the writing of setup functions which accept funcargs.</p>
</li>
<li><p class="first">fix issue198 - conftest fixtures were not found on windows32 in some
circumstances with nested directory structures due to path manipulation issues</p>
</li>
<li><p class="first">fix issue193 skip test functions with were parametrized with empty
parameter sets</p>
</li>
<li><p class="first">fix python3.3 compat, mostly reporting bits that previously depended
on dict ordering</p>
</li>
<li><p class="first">introduce re-ordering of tests by resource and parametrization setup
which takes precedence to the usual file-ordering</p>
</li>
<li><p class="first">fix issue185 monkeypatching time.time does not cause pytest to fail</p>
</li>
<li><p class="first">fix issue172 duplicate call of pytest.setup-decoratored setup_module
functions</p>
</li>
<li><p class="first">fix junitxml=path construction so that if tests change the
current working directory and the path is a relative path
it is constructed correctly from the original current working dir.</p>
</li>
<li><p class="first">fix &#8220;python setup.py test&#8221; example to cause a proper &#8220;errno&#8221; return</p>
</li>
<li><p class="first">fix issue165 - fix broken doc links and mention stackoverflow for FAQ</p>
</li>
<li><p class="first">catch unicode-issues when writing failure representations
to terminal to prevent the whole session from crashing</p>
</li>
<li><p class="first">fix xfail/skip confusion: a skip-mark or an imperative pytest.skip
will now take precedence before xfail-markers because we
can&#8217;t determine xfail/xpass status in case of a skip. see also:
<a class="reference external" href="http://stackoverflow.com/questions/11105828/in-py-test-when-i-explicitly-skip-a-test-that-is-marked-as-xfail-how-can-i-get">http://stackoverflow.com/questions/11105828/in-py-test-when-i-explicitly-skip-a-test-that-is-marked-as-xfail-how-can-i-get</a></p>
</li>
<li><p class="first">always report installed 3rd party plugins in the header of a test run</p>
</li>
<li><p class="first">fix issue160: a failing setup of an xfail-marked tests should
be reported as xfail (not xpass)</p>
</li>
<li><p class="first">fix issue128: show captured output when capsys/capfd are used</p>
</li>
<li><p class="first">fix issue179: propperly show the dependency chain of factories</p>
</li>
<li><p class="first">pluginmanager.register(...) now raises ValueError if the
plugin has been already registered or the name is taken</p>
</li>
<li><p class="first">fix issue159: improve <a class="reference external" href="http://pytest.org/latest/faq.html">http://pytest.org/latest/faq.html</a>
especially with respect to the &#8220;magic&#8221; history, also mention
pytest-django, trial and unittest integration.</p>
</li>
<li><p class="first">make request.keywords and node.keywords writable.  All descendant
collection nodes will see keyword values.  Keywords are dictionaries
containing markers and other info.</p>
</li>
<li><p class="first">fix issue 178: xml binary escapes are now wrapped in py.xml.raw</p>
</li>
<li><p class="first">fix issue 176: correctly catch the builtin AssertionError
even when we replaced AssertionError with a subclass on the
python level</p>
</li>
<li><p class="first">factory discovery no longer fails with magic global callables
that provide no sane __code__ object (mock.call for example)</p>
</li>
<li><p class="first">fix issue 182: testdir.inprocess_run now considers passed plugins</p>
</li>
<li><dl class="first docutils">
<dt>fix issue 188: ensure sys.exc_info is clear on python2</dt>
<dd><p class="first last">before calling into a test</p>
</dd>
</dl>
</li>
<li><p class="first">fix issue 191: add unittest TestCase runTest method support</p>
</li>
<li><p class="first">fix issue 156: monkeypatch correctly handles class level descriptors</p>
</li>
<li><p class="first">reporting refinements:</p>
<ul class="simple">
<li>pytest_report_header now receives a &#8220;startdir&#8221; so that
you can use startdir.bestrelpath(yourpath) to show
nice relative path</li>
<li>allow plugins to implement both pytest_report_header and
pytest_sessionstart (sessionstart is invoked first).</li>
<li>don&#8217;t show deselected reason line if there is none</li>
<li>py.test -vv will show all of assert comparisations instead of truncating</li>
</ul>
</li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="release-2.2.4.html" title="pytest-2.2.4: bug fixes, better junitxml/unittest/python3 compat"
             >next</a></li>
        <li class="right" >
          <a href="release-2.3.1.html" title="pytest-2.3.1: fix regression with factory functions"
             >previous</a> |</li>
        <li><a href="../contents.html">pytest-2.3.4.1</a> &raquo;</li>
          <li><a href="index.html" >Release announcements</a> &raquo;</li>
 
<g:plusone></g:plusone>

      </ul>
    </div>

    <div class="footer">
        &copy; Copyright 2012, holger krekel.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-7597274-13']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>

  </body>
</html>