Я новичок в модульных тестах для своих собственных проектов, так что это моя первая попытка написать модульный тест с нуля. Я использую Python и модуль unittest. Тестируемый здесь класс TodoList является оберткой для реальных списков, с несколькими дополнительными методами для таких вещей, как сохранение на диск. Он также определяет несколько методов для получения элементов по их идентификатору в списке (который не совпадает с индексом списка).
Тесты (я вырезал несколько вспомогательных методов и несколько хороших тестов ради того, чтобы не было людей, чтобы прокручивать их вечно):
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.
Полная ссылка на источник