나는 파이썬 프로젝트 빌딩에 허드슨을 가지고있다. 대부분의 단위 테스트가 제대로 작동하지만 파일 시스템에 쓰려면 (예 : tarfiles를 사용하는 클래스가 있어야 함)이 필요합니다. tmp 디렉토리 (중간 tearDown 메소드 상대 tmp 디렉토리 아래의 모든 파일을 제거하십시오.허드슨이 상대 디렉터리를 탐색 할 수 없다
- SRC
- 테스트
- 기구 (여기 정적 파일)
- 단위 (여기에 단위 테스트)
- 의 tmp : 여기 내 프로젝트 구조입니다 나는 허드슨이 파일을 처리하지 않기 때문에 이런 일이 가정
OSError: [Errno 2] No such file or directory: '../../tmp'
디렉토리에 단위 아니라 다른 작업 디렉토리 동안 : 여기
- 테스트
는 예를 들어 오류입니다.
허드슨의 작업 디렉토리 란 무엇입니까? 그것을 구성 할 수 있습니까? 상대 경로가 전혀 작동 할 수 있습니까?
내 단위 테스트가 모든 tearDown을 지우므로 수동으로 tmp 디렉토리를 추가했습니다. 또한 nosetests를 -w 플래그와 함께 호출해야합니다. nosetests -w tests/unit --with-xunit –
실제로 테스트에서만 사용되는 임시 디렉토리 인 경우 setUp에 의해 만들어 져서 제거되어야합니다. 같은 시험의 눈물. 나는 항상 임시 또는 결과 디렉토리를 SCM에 추가하는 것을 거부합니다. – cringe
@cringe - 좋은 조언; 나는 모든 소스 코드와 관련된 tmp 디렉토리 대신 올바른 tmp 디렉토리를 사용하도록 단위 테스트를 수정했다. –