Je suis nouveau dans les tests unitaires pour mes propres projets, donc c'est ma première tentative d'écrire un test unitaire à partir de zéro. J'utilise python, et le module unittest. La classe TodoList testée ici est un wrapper pour les listes réelles, avec quelques méthodes supplémentaires pour des choses comme l'enregistrement sur disque. Il définit également quelques méthodes pour obtenir des éléments par leur ID dans la liste (ce qui n'est pas la même chose que l'index de la liste).Est-ce que je fais ces tests unitaires, n'est-ce pas?
Tests (je l'ai découpé quelques méthodes d'aide, et un bon quelques tests pour des raisons de ne pas avoir des gens pour faire défiler toujours):
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.