1

리팩토링 되었기 때문에 작동하지 않는 코드를 체크인하는 사람들에게 실제 문제가 있습니다. 틀림없이 이것은 부분적으로 개발자가 이러한 종류의 실수를 쉽게 찾을 수있는 좋은 도구가 없기 때문입니다.Python에서 ImportErrors 테스트하기

Python에서 ImportErrors를 찾는 데 도움이되는 도구가 있습니까? 물론 정답은 "당신은 단위 테스트를 사용해야합니다." 하지만, 필자는 레거시 코드 랜드 (적어도 Michael Feathers의 정의에 따르면)에 있습니다. 따라서 우리의 단위 테스트는 무겁게 작업하고 있습니다.

한편, 각 디렉토리를 거쳐 파일을 가져 와서 ImportErrors가있는 스크립트를 찾을 수있는 일종의 도구가 있으면 좋을 것입니다 (예 : 파일이나 클래스의 이름이 최근에 변경된 경우 말하기).). 나는 이것이 끔찍하게 자신을 쓰는 것이 어려울 것이라고 추측하지만 이미 이것을하기 위해 작성된 프로그램이 있습니까?

답변

3

Pychecker는 당신을위한 제품입니다. 모듈을 가져오고 이러한 오류를 찾습니다.

http://pychecker.sourceforge.net/

아, 그리고 "pylint < 모듈 이름 >는"모듈을 가져옵니다,하지만 난 당신이 pychecker 적어도 * 평을 지원 당신이 원하는 모든 모듈에 대해 한 번 호출해야 할 것 같아요. (Pylint는 * .py를 지원하지만 해당 상황에서는 모듈을 가져 오지 않습니다).

1

이와 비슷한?

import os 
for x in os.listdir("some/path"): 
    execfile(x) 

충분합니까, 아니면 더 필요하십니까?

if __name__ == "__main__":이없는 모듈은 분명히 벗고 물건을 만들기 시작할 것입니다.

+0

내가 추가하고 싶은 것이 더 있습니다. 그러나 나는 내 자신의 것을 쓰기로 결정한다면 그것은 충분한 시작이라고 생각한다. :-) –