我是新来的单元测试我自己的项目,所以这是我第一次尝试从头开始编写单元测试。我使用python和unittest模块。在这里测试的TodoList类是实际列表的一个包装,有一些额外的方法用于保存到光盘等内容。它还定义了一些通过列表中的ID获取项目的方法(与列表索引不同)。我在做这些单元测试吗?
测试(我剪了几个辅助方法,并没有老百姓着想的好几个测试永远滚动):
class TodoListTests(unittest.TestCase):
def setUp(self):
self.testdata = open("./testdata.json", "r")
self.testdata_text = self.testdata.read()
self.testdata.close()
def tearDown(self):
try:
os.remove("./todo.json")
except OSError:
# File not created, no need to delete.
pass
def create_todolist_and_safe_list(self):
self.create_data_file()
self.todolist = todolist.TodoList("./todo.json")
self.list = json.loads(self.testdata_text)
def create_data_file(self):
datafile = open("./todo.json", "w")
datafile.write(self.testdata_text)
datafile.close()
# Snip out a few more helper methods
def test_loop(self):
self.create_todolist_and_safe_list()
test_list = []
for item in self.todolist:
test_list.append(item)
self.assertEquals(test_list, self.list)
def test_save(self):
self.create_todolist_and_safe_list()
self.todolist.save()
newfile_text = self.get_data_file_as_string()
self.assertEquals(newfile_text, self.testdata_text)
# Snip out the rest of the tests.