저는 약간의 cli 프로그램을 작업하면서 단위 테스트를 시작하려고 노력해 왔습니다.단위 테스트에 적합하도록 데이터베이스 실행/커밋을 어떻게 다시 작성해야합니까?
내 프로그램은 기본적으로 명령 줄 인수와 옵션을 구문 분석하고 어떤 함수를 호출할지 결정합니다. 각 함수는 데이터베이스에 대해 일부 연산을 수행합니다.
그래서, 예를 들어, 내가 만드는 기능을 가지고 있습니다
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()
내 테스트 케이스의 호출이 함수는 다음 행을 입력했는지 확인하는 선택 SQL을 실행해야 하는가? 합리적인 것 같지만 테스트를 더 어렵게 만듭니다. 뭔가를 반환하고 반환 값을 확인하기 위해 함수를 다시 작성하겠습니까?
감사
나는 확실히 테스트의 용이성을 위해이 방법을 리팩토링 것
단위 테스트는 두 단어라고 생각합니다. –