Skip to content

Commit 771657e

Browse files
committed
adding integration testing page
1 parent d9fe472 commit 771657e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+424
-18
lines changed

about-author.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
148148
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
149149
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
150150
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
151+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
151152
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
152153
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
153154
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

all.html

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6571,6 +6571,12 @@ <h2>Testing resources</h2>
65716571
<p>Google has a <a href="http://googletesting.blogspot.com/">testing blog</a> where
65726572
they write about various aspects of testing software at scale.</p>
65736573
</li>
6574+
<li>
6575+
<p>Still confused about the difference between unit, functional and
6576+
integration tests? Check out this
6577+
<a href="http://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test">top answer on Stack Overflow</a>
6578+
to that very question.</p>
6579+
</li>
65746580
</ul>
65756581
<h1>Unit testing</h1>
65766582
<p>Unit testing is a method of determining the correctness of a single function
@@ -6590,7 +6596,9 @@ <h2>Why is unit testing important?</h2>
65906596
<h2>Unit testing tools</h2>
65916597
<p>There are many tools for creating tests in Python. Some of these tools, such
65926598
as pytest, replace the built-in unittest framework. Other tools, such as
6593-
nose, are extensions that ease test case creation.</p>
6599+
nose, are extensions that ease test case creation. Note that many of these
6600+
tools are also used for <a href="/integration-testing.html">integration testing</a>
6601+
by writing the test cases to exercise multiple parts of code at once.</p>
65946602
<ul>
65956603
<li>
65966604
<p><a href="https://docs.python.org/3/library/unittest.html">unittest</a>
@@ -6638,6 +6646,47 @@ <h3>Unit testing resources</h3>
66386646
<p>The Python wiki has a page with a list of
66396647
<a href="https://wiki.python.org/moin/PythonTestingToolsTaxonomy">Python testing tools and extensions</a>.</p>
66406648
</li>
6649+
</ul>
6650+
<h1>Integration Testing</h1>
6651+
<p>Integration testing exercises two or more parts of an application at once,
6652+
including the interactions between the parts, to determine if they function
6653+
as intended. This type of <a href="/testing.html">testing</a> identifies defects in
6654+
the interfaces between disparate parts of a codebase as they invoke
6655+
each other and pass data between themselves.</p>
6656+
<h2>How is integration testing different from unit testing?</h2>
6657+
<p>While <a href="/unit-testing.html">unit testing</a> is used to find bugs in individual
6658+
functions, integration testing tests the system as a whole. These two
6659+
approaches should be used together, instead of doing just one approach over
6660+
the other. When a system is comprehensively unit tested, it makes
6661+
integration testing far easier because many of the bugs in the individual
6662+
components will have already been found and fixed. </p>
6663+
<p>As a codebase scales up, both unit and integration testing allow
6664+
developers to quickly identify breaking changes in their code. Many times
6665+
these breaking changes are unintended and wouldn't be known about until
6666+
later in the development cycle, potentially when an end user discovers
6667+
the issue while using the software. Automated unit and integration tests
6668+
greatly increase the likelihood that bugs will be found as soon as possible
6669+
during development so they can be addressed immediately.</p>
6670+
<h3>Integration testing resources</h3>
6671+
<ul>
6672+
<li>
6673+
<p><a href="http://eigenhombre.com/2013/04/13/integration-testing-in-python-with-context-managers/">Integration testing with Context Managers</a>
6674+
gives an example of a system that needs integration tests and shows how
6675+
context managers can be used to address the problem. There are a couple
6676+
other useful posts in this series on testing including
6677+
<a href="http://eigenhombre.com/2013/04/18/thoughts-on-integration-testing/">thoughts on integration testing</a>
6678+
and <a href="http://eigenhombre.com/2013/04/19/processes-vs-threads-for-testing/">processes vs. threads for integration testing</a>.</p>
6679+
</li>
6680+
<li>
6681+
<p>Pytest has a page on <a href="https://pytest.org/latest/goodpractises.html">integration good practices</a>
6682+
that you'll likely want to follow when testing your application.</p>
6683+
</li>
6684+
<li>
6685+
<p><a href="http://enterprisecraftsmanship.com/2015/07/13/integration-testing-or-how-to-sleep-well-at-nights/">Integration testing, or how to sleep well at night</a>
6686+
explains what integration tests are and gives an example. The example is
6687+
coded in Java but still relevant when you're learning about integration
6688+
testing.</p>
6689+
</li>
66416690
</ul>
66426691
<h1>Code Metrics</h1>
66436692
<p>Code metrics can be produced by static code analysis tools to determine

api-creation.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
342342
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
343343
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
344344
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
345+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
345346
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
346347
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
347348
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

api-integration.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
240240
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
241241
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
242242
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
243+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
243244
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
244245
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
245246
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

application-dependencies.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
309309
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
310310
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
311311
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
312+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
312313
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
313314
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
314315
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

application-programming-interfaces.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
212212
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
213213
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
214214
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
215+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
215216
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
216217
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
217218
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

best-python-resources.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
344344
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
345345
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
346346
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
347+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
347348
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
348349
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
349350
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

best-python-videos.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
262262
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
263263
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
264264
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
265+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
265266
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
266267
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
267268
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

bottle.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
201201
<a href="/caching.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
202202
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
203203
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
204+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
204205
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
205206
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
206207
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

caching.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ <h3 class="panel-head"><a href="/table-of-contents.html" style="color: #fff;">Ta
183183
<a href="/caching.html" class="list-group-item smaller-item active" style='font-family: "Helvetica Neue",sans-serif;'>Caching</a>
184184
<a href="/testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Testing</a>
185185
<a href="/unit-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Unit Testing</a>
186+
<a href="/integration-testing.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Integration Testing</a>
186187
<a href="/code-metrics.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Code Metrics</a>
187188
<a href="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>What "Full Stack" Means</a>
188189
<a href="/change-log.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>Change Log</a>

0 commit comments

Comments
 (0)