2011-11-23 2 views
0

시간에 민감한 단위 테스트가 있습니다. 작업 시간이 너무 오래 걸리면 오류가 발생합니다. 개별적으로 실행하면 이러한 테스트는 끝나지만 내 모듈에서 nosetest를 반복적으로 실행하면 실패합니다. 동시 테스트를 실행합니다. 이는 타이밍이 꺼지는 한 가지 이유 일 수 있습니다. 이 테스트를 중단없이 실행할 수 있음을 나타내는 방법이 있습니까?Python 코 테스트의 타이밍 문제

답변

1

귀하의 문제는 귀하가 타이밍을 구현 한 방법에 달려 있다고 생각합니다. 개인적으로 채택 할 해결책은 테스트의 동작을 제어하는 ​​환경 변수를 설정하는 것입니다. 지원자 수 :

  • if WITH_TIMING == False [해제 타이밍이 전부]
  • TIME_STRETCH_FACTOR = ...가 [예를 들어 5의 제한 시간은 7.5 TIME_STRETCH_FACTOR를하면 될 것이라고, 그래서 시간 스트레칭 동시 시험의 경우 배율, 실행 적용 이 옵션을 선택하지 않으면 1.5]

것, 가능한 추한 해결 방법은 상수 값 [당신이 time.time()를 사용하는 경우에만 동작 것을 반환 만드는 time.time() 기능을 조롱하는 것 직접 시험에서 ...]

HTH