Source

blog / source / en_posts / 2011-03-09-testing-python.rst

Full commit
================
 Testing Python
================

.. .. warning::

..     This post is still in-progress. Please be patient and don't read
..     it if you are lazy to re-read it when it's ready. When I'm
..     finished, I will publish it on hacker news, reddits and so on, and
..     if you are interested -- you will probably won't miss it.

.. warning::

    This post is still in-progress. Please be patient and don't read
    it if you are lazy to re-read it when it's ready. When I'm
    finished, I will publish it on hacker news, reddits and so on, and
    if you are interested -- you will probably won't miss it.

    Right now it's in "alpha" stage when I ask my friends and other
    good people to read it and tell me what can be enhanced.

    Also, you can see what's changing here
    `https://bitbucket.org/k_bx/blog/changesets
    <https://bitbucket.org/k_bx/blog/changesets>`_, on bitbucket, since
    this blog is open-source.

This article is a compilation of my thoughts, impressions and
experience on writing test-driven code in python.

The article is quite big, because I wanted to make it in a format of
evolution of me, as a programmer, who started as usual web-developer
and upon career got more and more complex tasks and saw more and more
need in test-driven development approach.

I decided to split article into parts so that it would be easier to
read.

--------------------------
 How to read this article
--------------------------

It is very hard to write a complete article and say everything you
want to say without being verbose, so as a general, if you are already
experienced programmer and know what is functional testing and mock
library, you can skip first paragraphs straight to the
:doc:`testing_python/going-deeper` doc.

.. toctree::

   testing_python/introduction
   testing_python/example
   testing_python/functional
   testing_python/unit-testing
   testing_python/going-deeper
   testing_python/two-approaches
   testing_python/tdd-bdd
   testing_python/change-the-way
   testing_python/corner-cases