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...