2010-05-10 4 views
4

2to3 유틸리티를 사용하여 명령 줄에서 코드를 변환했습니다. 제가하고 싶은 것은 기본적으로 unittest로 실행하는 것입니다. unittest의 경우처럼 파트 (함수, 메서드 ...)보다는 파일을 테스트하더라도.Python의 2to3을 unittest처럼 사용하거나 실행하십시오.

unittest 일 필요는 없으며 매너처럼 unittest에서 파일의 py3 준수를 모니터링하려는 파일을 자동으로 변환하지 않습니다. 나는 이것에 대한 문서 나 예제를 찾을 수없는 것 같습니다.

예제 및/또는 문서가 훌륭합니다.

답변

2

python2.6 +와 함께 -3 옵션을 사용하여 Python3 규격을 쉽게 알 수 있습니다.

+0

하지만 어떻게 단위 테스트로 실행할지 모르겠습니다. 코드를 실행하지 않는 테스트로 실행하고 싶습니다. – Vincent

+0

@Vincent, 단위 테스트에 코드를 실행해야합니다. 따라서 "-3"옵션을 추가하여 Python3과 호환되는지 확인하십시오. 당신은 그것을하기 위해 무엇을 필요로합니까? –

+0

그래서 파이썬 인터프리터가 실제로 어떻게 실행되는지에 대한 제어권이없는 프레임 워크에서 코드를 실행할 때는 어떻습니까? (예 : Google App Engine) –

1

코드가 Python 3.x에서 작동하는지 확인하려면 소스 파일을 새 디렉토리에 복사하고 2to3을 실행 한 다음 단위 테스트를 디렉토리로 복사하고 실행하는 스크립트를 제안합니다. 그들.

이것은 다소 우아하지는 않지만 단위 테스트의 정신과 일치합니다. 구현에 관계없이 코드의 외부 동작에 대해 사실이어야한다고 생각하는 일련의 주장을하고 있습니다. 변환 된 코드가 단위 테스트를 통과하면 코드를 파이썬 3을 지원한다고 생각할 수 있습니다.

+1

"변환 된 코드가 단위 테스트를 통과하면 Python 3을 지원하도록 코드를 고려할 수 있습니다." - 유닛 테스트 자체가 유효한 파이썬 3이라고 추정하지 않습니까? –

+0

유닛 테스트를 좀 더주의 깊게 작성해야하지만, 도움이되지 않습니다 .-) 단위 테스트에서 파이썬 2에서 하나의 응답을 기대할 수 있지만 3에서 다른 응답이 필요합니다. 파이썬으로 코드를 검사하는 대신 궁극적으로 대체 할 수있는 것은 없습니다 3 가지 사항을 염두에 두십시오 ... 이것은 단순히 하나의 자동화 된 시스템을 사용하여 두 패러다임을 테스트하는 방법이었습니다. –