Writing tests for our application
Let's put our knowledge of unittest
and Tkinter to work and write some automated tests for our application. To get started, we need to create a test module. 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 the data model
Our CSVModel
class is fairly self-contained apart from its need to read and write files. We'll need to mock out this functionality so that the tests don't disturb the filesystem. 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.
Create a new file in the test
directory called test_models...