I am about to make a game using python and libtcod roguelike game library.
More to the point, I am using PyMock because I am just starting to learn Test-Driven Development, and I am determined not to cheat. I really want to get into the habit of doing it properly, and according to TDD I need a failing unit test before I write my first line of code.
I figure my first test of my “production” code should be that its dependency, libcotdpy, is imported.
My testing file:
#!/usr/bin/python
import pymock # for mocking and unit testing
import game # my (empty) production code file, game.py
class InitializeTest(pymock.PyMockTestCase):
def test_libtcod_is_imported(self):
# How do I test that my production file imports the libtcodpy module?
if __name__=="__main__":
import unittest
unittest.main()
Please:
1) (python people) How do I test that the module is loaded?
2) (TDD people) Should I be unit testing something this basic? If not, what is the first thing I should be testing?
1)
'your_module' in sys.modules.Don’t actually use that, though:
2)
What should your library should do?
Is it “have a dependency on libcotdpy”? I think not.
You’ve just made a design choice that wasn’t test-driven!
Write a test that demonstrates how you want to use the library. Don’t think about how you’re going to implement it. For example:
Or something similar. (I don’t know what you want your library to do, or how much libtcod provides.)