Skip to main content

74. Testing and Debugging

1. Introduction​

Testing ensures our program works as expected.
Debugging helps us find and fix issues.


2. Manual Testing​

Run commands from CLI:

python file_manager.py list .
python file_manager.py read test.txt
python file_manager.py delete test.txt

3. Unit Testing with unittest​

import unittest
import os

class TestFileManager(unittest.TestCase):
def test_write_and_read(self):
fm = FileManager()
fm.write("test.txt", "hello")
self.assertTrue(os.path.exists("test.txt"))
fm.read("test.txt")
os.remove("test.txt")

if __name__ == "__main__":
unittest.main()

4. Debugging with print and logging​

print("Debug: entering function")

Better: use logging with debug level.

logging.debug("Entering write_file")

5. Next Steps​

✅ We can now test and debug our project.
Next: Final wrap-up.