


<!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>Index &mdash; Mock 1.0.0 documentation</title>
    
    <link rel="stylesheet" href="_static/nature.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '1.0.0',
        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="Mock 1.0.0 documentation" href="index.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="#" title="General Index"
             accesskey="I">index</a></li>
        <li><a href="index.html">Mock 1.0.0 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            

<h1 id="index">Index</h1>

<div class="genindex-jumpbox">
 <a href="#_"><strong>_</strong></a>
 | <a href="#A"><strong>A</strong></a>
 | <a href="#C"><strong>C</strong></a>
 | <a href="#D"><strong>D</strong></a>
 | <a href="#E"><strong>E</strong></a>
 | <a href="#F"><strong>F</strong></a>
 | <a href="#G"><strong>G</strong></a>
 | <a href="#H"><strong>H</strong></a>
 | <a href="#I"><strong>I</strong></a>
 | <a href="#M"><strong>M</strong></a>
 | <a href="#N"><strong>N</strong></a>
 | <a href="#O"><strong>O</strong></a>
 | <a href="#P"><strong>P</strong></a>
 | <a href="#R"><strong>R</strong></a>
 | <a href="#S"><strong>S</strong></a>
 | <a href="#T"><strong>T</strong></a>
 | <a href="#U"><strong>U</strong></a>
 | <a href="#W"><strong>W</strong></a>
 
</div>
<h2 id="_">_</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#index-5">__call__</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.__class__">__class__ (Mock attribute)</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#mock.Mock.__dir__">__dir__() (Mock method)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock._get_child_mock">_get_child_mock() (Mock method)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="A">A</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="helpers.html#mock.ANY">ANY (in module mock)</a>
  </dt>

      
  <dt><a href="index.html#index-8">articles</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.assert_any_call">assert_any_call() (Mock method)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.assert_called_once_with">assert_called_once_with() (Mock method)</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#mock.Mock.assert_called_with">assert_called_with() (Mock method)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.assert_has_calls">assert_has_calls() (Mock method)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.attach_mock">attach_mock() (Mock method)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="helpers.html#mock.call">call() (in module mock)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.call_args">call_args (Mock attribute)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.call_args_list">call_args_list (Mock attribute)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.call_count">call_count (Mock attribute)</a>
  </dt>

      
  <dt><a href="helpers.html#mock.call.call_list">call_list() (call method)</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#mock.Mock.called">called (Mock attribute)</a>
  </dt>

      
  <dt><a href="mock.html#index-6">calling</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.configure_mock">configure_mock() (Mock method)</a>
  </dt>

      
  <dt><a href="helpers.html#mock.create_autospec">create_autospec() (in module mock)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="D">D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="sentinel.html#mock.DEFAULT">DEFAULT (in module mock)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="E">E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-5">easy_install</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="F">F</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="helpers.html#mock.FILTER_DIR">FILTER_DIR (in module mock)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="getting-started.html#index-0">Getting Started</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="H">H</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-3">hg</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="I">I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-1">installing</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-0">introduction</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="magicmock.html#mock.MagicMock">MagicMock (class in mock)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.method_calls">method_calls (Mock attribute)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock">Mock (class in mock)</a>
  </dt>

      
  <dt><a href="index.html#module-mock">mock (module)</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#mock.Mock.mock_add_spec">mock_add_spec() (Mock method)</a>
  </dt>

      
  <dt><a href="mock.html#mock.Mock.mock_calls">mock_calls (Mock attribute)</a>
  </dt>

      
  <dt><a href="helpers.html#mock.mock_open">mock_open() (in module mock)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#index-3">name</a>
  </dt>

      
  <dt><a href="magicmock.html#mock.NonCallableMagicMock">NonCallableMagicMock (class in mock)</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#mock.NonCallableMock">NonCallableMock (class in mock)</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="O">O</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-12">older versions</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="patch.html#mock.patch">patch() (in module mock)</a>
  </dt>

      
  <dt><a href="patch.html#mock.patch.dict">patch.dict() (in module mock)</a>
  </dt>

      
  <dt><a href="patch.html#mock.patch.multiple">patch.multiple() (in module mock)</a>
  </dt>

      
  <dt><a href="patch.html#mock.patch.object">patch.object() (in module mock)</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="patch.html#mock.patch.stopall">patch.stopall() (in module mock)</a>
  </dt>

      
  <dt><a href="index.html#index-4">pip</a>
  </dt>

      
  <dt><a href="mock.html#mock.PropertyMock">PropertyMock (class in mock)</a>
  </dt>

      
  <dt><a href="index.html#index-11">Python 3</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-7">references</a>
  </dt>

      
  <dt><a href="index.html#index-2">repository</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#mock.Mock.reset_mock">reset_mock() (Mock method)</a>
  </dt>

      
  <dt><a href="mock.html#index-1">return_value</a>
  </dt>

      <dd><dl>
        
  <dt><a href="mock.html#mock.Mock.return_value">(Mock attribute)</a>
  </dt>

      </dl></dd>
  </dl></td>
</tr></table>

<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="sentinel.html#mock.sentinel">sentinel (in module mock)</a>
  </dt>

      
  <dt><a href="index.html#index-6">setuptools</a>
  </dt>

  </dl></td>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#index-0">side_effect</a>
  </dt>

      <dd><dl>
        
  <dt><a href="mock.html#mock.Mock.side_effect">(Mock attribute)</a>
  </dt>

      </dl></dd>
      
  <dt><a href="mock.html#index-4">spec</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="T">T</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-9">tests</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="U">U</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="index.html#index-10">unittest2</a>
  </dt>

  </dl></td>
</tr></table>

<h2 id="W">W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%" valign="top"><dl>
      
  <dt><a href="mock.html#index-2">wraps</a>
  </dt>

  </dl></td>
</tr></table>



          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">

   

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="#" title="General Index"
             >index</a></li>
        <li><a href="index.html">Mock 1.0.0 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2007-2012, Michael Foord &amp; the mock team.
      Last updated on Oct 07, 2012.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>
  </body>
</html>