<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:24.0pt;
        font-family:"Calibri",sans-serif;
        font-weight:bold;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Calibri",sans-serif;
        font-weight:bold;}
span.pre
        {mso-style-name:pre;}
span.std
        {mso-style-name:std;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">FYI:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">https://docs.python.org/3/library/unittest.html<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">A <em><span style="font-family:"Calibri",sans-serif">test fixture</span></em> represents the preparation needed to perform one or more tests, and any
<b><span style="color:red">***associated***</span></b> cleanup actions. This may involve, for example, creating temporary or proxy databases, directories, or starting a server process.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">---------------------------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<h1><a href="https://docs.python.org/3/library/unittest.html#module-unittest" title="unittest: Unit testing framework for Python."><span class="pre"><span style="font-size:10.0pt;font-family:"Courier New";color:blue">unittest</span></span></a> — Unit testing
 framework<o:p></o:p></h1>
<p><strong><span style="font-family:"Calibri",sans-serif">Source code:</span></strong>
<a href="https://github.com/python/cpython/tree/3.7/Lib/unittest/__init__.py">Lib/unittest/__init__.py</a><o:p></o:p></p>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="100%" align="center">
</div>
<p>(If you are already familiar with the basic concepts of testing, you might want to skip to
<a href="https://docs.python.org/3/library/unittest.html#assert-methods"><span class="std"><span style="color:blue">the list of assert methods</span></span></a>.)<o:p></o:p></p>
<p>The <a href="https://docs.python.org/3/library/unittest.html#module-unittest" title="unittest: Unit testing framework for Python.">
<span class="pre"><span style="font-size:10.0pt;font-family:"Courier New";color:blue">unittest</span></span></a> unit testing framework was originally inspired by JUnit and has a similar flavor as major unit testing frameworks in other languages. It supports
 test automation, sharing of setup and shutdown code for tests, aggregation of tests into collections, and independence of the tests from the reporting framework.<o:p></o:p></p>
<p>To achieve this, <a href="https://docs.python.org/3/library/unittest.html#module-unittest" title="unittest: Unit testing framework for Python.">
<span class="pre"><span style="font-size:10.0pt;font-family:"Courier New";color:blue">unittest</span></span></a> supports some important concepts in an object-oriented way:<o:p></o:p></p>
<p class="MsoNormal">test fixture<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">A <em><span style="font-family:"Calibri",sans-serif">test fixture</span></em> represents the preparation needed to perform one or more tests, and any
<b><span style="color:red">***associated***</span></b><span style="color:red"> </span>
cleanup actions. This may involve, for example, creating temporary or proxy databases, directories, or starting a server process.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>

<HR>This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, notify the sender immediately by return email and delete the message and any attachments from your system.<BR>
</body>
</html>