You have been testing code right throughout this book; maybe without even realizing it. Each time you use the Django shell to see if a function works, or to see what output you get for a given input, you are testing your code. For example, back in Chapter 2, Views and URLconfs, we passed a string to a view that expected an integer to generate a TypeError
exception.
Testing is a normal part of application development, however what's different in automated tests is that the testing work is done for you by the system. You create a set of tests once, and then as you make changes to your app, you can check that your code still works as you originally intended, without having to perform time consuming manual testing.
If creating simple applications like those in this book is the last bit of Django programming you do, then true, you don't need to know how to create automated tests. But, if you wish to become a professional programmer and/or work on more complex projects, you need to know how to create automated tests.
Creating automated tests will: