Writing tests for our application
Let's put our knowledge of unittest to work and write some tests for our application. To get started, we need to create a test module for our application. Make a directory called test inside the abq_data_entry package, and create the customary empty __init__.py file inside. We'll create all of our test modules inside this directory.
Testing our model
Our CSVModel code is fairly self-contained apart from its need to read and write files. Since file operations are one of the more common things that need to be mocked out in a test, the mock module provides mock_open, a Mock subclass ready-made to replace Python's open method. When called, a mock_open object returns a mock file handle object, complete with support for the read(), write(), and readlines() methods.
Let's begin creating our test case class in test/test_models.py as follows:
from .. import models
from unittest import TestCase
from unittest import mock
class TestCSVModel(TestCase):
def setUp(self...