2016-11-21 2 views

답변

0

이것은 테스트 스위트에서 일반적으로 발생하는 문제이며, 다행스럽게도 일반적인 해결책이 있습니다.

비교 된 시간 소인에서 마이크로 초를 트리밍 할 수 있습니다 (RDBMS 공급 업체와 호스트 응용 프로그램 언어가 가장 짧은 시간 측정에서 다소 다를 수 있으므로).

이러한 세부 정보를 처리하는 데 도움이되는 timecop gem을 사용해 볼 수 있습니다. 근본적으로 현재 시간을 고정시키고, 언제든지 관련 데이터 또는 비교 값을 작성하고, 그 값을 사용자의 기대치에 사용할 수 있습니다.

마지막으로 정확한 시간대와 날짜 또는 시간 데이터 유형을 비교하고 있는지 확인하십시오. 루비의 시간 및 날짜 클래스에 대한 문서를 살펴보고 레일즈를 사용하는 경우 TimeWithZone 클래스를 살펴볼 수도 있습니다. 표준 시간대 비교에서 문제가 자주 발생하기 때문에 이러한 비교에 항상 일관된 데이터 유형을 사용하고자합니다. 즉, Date.todayTime.now 또는 1.day.ago과 비교하면 다른 시간대를 사용할 수 있습니다. 이 주제에는 많은 블로그 게시물이 있으므로 Ruby에서 Time 값을 비교하는 방법에 대해 읽어 보시기 바랍니다.

Ruby 콘솔을 열고 시간 값 생성을위한 여러 방법론을 시험해 봄으로써 GMT를 사용하는 표현식이 현재 시스템 시간대로 기본 설정된다는 느낌을 얻을 수 있습니다. 궁극적으로 make 테스트 스위트 전체에서 시간 값을 생성하기 위해 하나의 일관된 데이터 유형 및 패턴 (즉, 동일한 시간대)을 사용해야합니다.