Próbowałem rozpocząć pracę z testowaniem jednostkowym podczas pracy nad małym programem Cli.W jaki sposób należy przepisać bazę danych execute/commit mojej bazy danych, aby umożliwić jej testowanie jednostkowe?
Mój program w zasadzie analizuje argumenty i opcje wiersza poleceń i decyduje, którą funkcję wybrać. Każda z funkcji wykonuje pewną operację na bazie danych.
Tak więc, na przykład, może mam funkcji Utwórz:
def create(self, opts, args):
#I've left out the error handling.
strtime = datetime.datetime.now().strftime("%D %H:%M")
vals = (strtime, opts.message, opts.keywords, False)
self.execute("insert into mytable values (?, ?, ?, ?)", vals)
self.commit()
Gdyby moja próba przypadek wywołać tę funkcję, a następnie wykonać select sql, aby sprawdzić, że wiersz został wprowadzony? Brzmi to rozsądnie, ale sprawia też, że testy są trudniejsze do utrzymania. Czy przepisałbyś funkcję, by zwrócić coś i sprawdzić wartość zwracaną?
Dzięki
Myślę, że testowanie jednostkowe to dwa słowa. –