현재 날짜를 가져와 제공된 값과 비교하기 위해 getdate()
을 사용하는 저장 프로 시저가 있습니다.getdate()를 사용하는 저장 프로 시저의 단위 테스트 우수 사례
그러나 테스트를 위해 일반적으로 테스트를 위해 입력 데이터와 출력 데이터를 미리 준비하고이 데이터 사이에 미리 정의 된 날짜를 준비했습니다. 그러나 getdate()
은 항상 현재 시간을 반환하므로 테스트 결과는 시간이 다를 수 있습니다.
getdate()
이 반환 할 변경 방법이 없다고 생각합니까? 그러나 저장 프로 시저에서 getdate()
을 가져 와서 일부 입력 매개 변수를 사용하는 대신 옵션이 아닙니다.
테스트 결과를 일정하게 만들기 위해 이러한 저장 프로 시저를 테스트하는 최상의 방법은 무엇입니까? 이 저장 프로 시저를 서버 날짜를 변경하거나 수정의 짧은 할 수없는 것처럼
'get-date'를 호출하고 출력을 반환하는 커스텀 함수를 만들 수 있습니다; 테스트 할 때 함수의 정의를 재정 의하여 테스트 값을 반환 할 수 있습니까? – JohnLBevan
John의 제안 이외에 다른 방법은 날짜를 proc에 전달하는 것뿐입니다. – DavidG
저장 프로 시저를 단위 테스트하는 방법을 명확히 할 수 있습니까? 보통 이것이 통합 테스팅의 영역입니다. TSQLUnit, Microsoft의 SQL Server Data Tools 또는 다른 것과 같은 SQL 기반 프레임 워크를 사용하고 있습니까? – TrueWill