我是新來的單元測試我自己的項目,所以這是我第一次嘗試從頭開始編寫單元測試。我使用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.