Chapter 12. Testing in Django

Introduction to testing

Like all mature programming languages, Django provides inbuilt unit testing capabilities. Unit testing is a software testing process where individual units of a software application are tested to ensure they do what they are expected to do.

Unit testing can be performed at multiple levels-from testing an individual method to see if it returns the right value and how it handles invalid data, up to testing a whole suite of methods to ensure a sequence of user inputs leads to the desired results.

Unit testing is based on four fundamental concepts:

  1. A test fixture is the setup needed to perform tests. This could include databases, sample datasets and server setup. A test fixture may also include any clean-up actions required after tests have been performed.
  2. A test case is the basic unit of testing. A test case checks whether a given set of inputs leads to an expected set of results.
  3. A test suite is a number of test cases, or other test suites, that are executed as a group.
  4. A test runner is the software program that controls the execution of tests and feeds the results of tests back to the user.

Software testing is a deep and detailed subject and this chapter should be considered to be only a bare introduction to unit testing. There are a large number of resources on the Internet on software testing theory and methods and I encourage you to do your own research on this important topic. For a more detailed discussion on Django's approach to unit testing, see the Django Project website.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset