pytest 테스트 케이스를 실행하기위한 표준 방법은 py.test file_name
입니다. 하지만 저는 왼쪽 패널에 Python 스크립트가 있고 오른쪽 창에 파이썬 인터프리터가있는 이맥스에서 개발합니다.테스트 스크립트 내에서 pytest 테스트 케이스 실행
내 워크 플로우는 내가 파이썬 스크립트를 변경할 수 있다는 것입니다, CTRL-C C (업데이트 된 변경 사항이 REPL에 전송되도록)을하고 REPL (CTRL-O)로 이동 그래서 테스트 업데이트 된 코드. 왼쪽의 테스트 케이스를 변경하고 올바른 REPL 화면으로 이동하여 업데이트 된 테스트 케이스를 실행할 수 있다면 좋을 것입니다.
셸을 스폰하고 pytest 명령을 실행하는 것과 달리 REPL 또는 스크립트 내에서 pytest 테스트 케이스를 실행하는 방법이 있습니까?
편집 : 나는 이전 REPL을 죽이고 새로 시작하지 않는 한 별도로, 나는 pytest에서 main
기능을 사용하고 스크립트에 있지만, 몇 가지 재미있는 이유를 호출하려고, 변경 사항이 포착되지 않았다으로 . 이것은 다른 Python 스크립트에서 발생하지 않으므로 pytest와 관련이 있다고 확신합니다. 다음은 코드입니다.
def test_add():
assert myadd(1, 2) == 3
if __name__ == '__main__':
pytest.main()
나는 예상 테스트에서 테스트를로드하려고 정규 py.test 러너를 시작하기 때문에 pytest.main()를 사용하면 REPL 내부에 가지고있는 테스트되지 않은 생각 폴더 및 모든 명명 규칙을 따르십시오 –
@ Conrad.Dean : 나는 그것이 REPL에 관한 것이 아니라고 생각합니다. pytest가 테스트를 실행하기 전에 스크립트의 최신 코드를 선택한다는 인상을 받았다. 그러나 일단로드 된 테스트 코드는 테스트 스크립트의 변경 내용과 상관없이 다시로드되지 않습니다. 정말 이상한 ... – sasuke