스니퍼와 함께 Pylint와 Nose를 사용하여 모든 저장시 내 파이썬 응용 프로그램을 테스트합니다. 이것은 당신이 여기 https://pypi.python.org/pypi/sniffer업데이트 된 소스 파일을 사용하지 않는 스니퍼가있는 Pylint
가 스니퍼
여기from sniffer.api import * # import the really small API
from pylint import lint
from subprocess import call
import os
import nose
@runnable
def zimmer_tests(*args):
command = "nosetests some_module/test --nologcapture --with-coverage --cover-config-file=zimmer_coverage_config"
lint.Run(['some_module/app'], exit=False)
return call(command, shell=True) == 0
먼저 lint.Run()
실행이 내 애플 리케이션에 pylint에 대한 scent.py 파일에서 nosetests 및 pylint을 실행하기위한 실행 가능한 책임을인지하지 못하는 경우 스니퍼입니다. 그런 다음 nosetest가 응용 프로그램에서 실행됩니다 call()
문제는 내가 파일을 저장 한 후 nosetests는 파일의 업데이트 된 버전에서 실행되지만 Pylint는 동일한 이전 버전을 사용합니다. 필립 (pylint)이 파일의 새 버전을 구할 때마다 스니퍼를 다시 시작해야합니다.
nosetests가 매번 새로운 버전의 파일을 가져올 수 있기 때문에 스니퍼의 구성에 문제가 없다고 가정합니다. 여전히 확실하지 않습니다.
내 pylintrc 파일은 생성 명령 pylint --generate-rcfile > .pylintrc
에서 일부 응용 프로그램 별 개조와 거의 같습니다.
입니다. 가져온 항목이 있으면 두 번째 가져 오기에서 캐시되므로 캐시에서 가져옵니다. 반면에 노드는 자신의 프로세스로 시작할 때마다 빈 모듈 캐시로 시작됩니다. 커맨드 라인으로도 pylint를 시작할 수 있습니다. –
@KlausD. 고마워요! 커맨드 라인에서 직접 호출하는 것이 효과적입니다! – penguin2048