을 나는 귀하의 질문에 대답하고 내 자신의 혼란으로이 생성 . 나는 그것이 도움이되기를 바랍니다. py.test
명령 줄과 tox.ini
에서 모두 PYTHONPATH
에주의하십시오.
예제 프로젝트는 이하 here이고 :
mymodule.py
:
import boto3
def stuff():
print "Yep!"
tests/text_syntax_errors.py
:
import boto3
import mymodule
# Define a basic test that actually doesn't do much.
# I just wanted more than zero tests
def test_one_equals_one():
assert 1 == 1
tox.ini
:
[tox]
skipsdist = True
envlist = py27
[flake8]
max-line-length = 119
[testenv]
deps= -r{toxinidir}/requirements.txt
commands=py.test
setenv =
PYTHONPATH = {toxinidir}
01 23,516,
requirements.txt
:
boto3
pytest
내 README.md
에서 :
방법 위해 실행이 예
내 코드를 테스트에 대한 나의 최초의 동기는 내가 스크립트에서 가져온 모듈의 철자가 잘못했던 것을
그 나는 일을 위해 글을 쓰고 있었다.
mymodule.py
을 편집하고 "boto3
"에서 b
을 제거하면 아래 명령이 실패합니다. 그리고 이것은 좋은 일입니다.마찬가지로 실제 테스트가 실패하는 것을보고 싶다면 tests/test_syntax_errors.py
을 간단히 편집하고 1 == 1
을 1 == 0
으로 변경하십시오.
py.test
mbp0 pytest_test[master+*] $ PYTHONPATH=. py.test
========================== test session starts ==========================
platform darwin -- Python 2.7.11, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /Users/jmacdonald/w/pytest_test, inifile:
collected 1 items
tests/test_syntax_errors.py .
======================= 1 passed in 0.11 seconds ========================
mbp0 pytest_test[master+*] $
mbp0 pytest_test[master+*] $ tox
py27 installed: boto3==1.3.1,botocore==1.4.37,docutils==0.12,futures==3.0.5,jmespath==0.9.0,py==1.4.31,pytest==2.9.2,python-dateutil==2.5.3,six==1.10.0
py27 runtests: PYTHONHASHSEED='713732044'
py27 runtests: commands[0] | py.test
========================== test session starts ==========================
platform darwin -- Python 2.7.11, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /Users/jmacdonald/w/pytest_test, inifile:
collected 1 items
tests/test_syntax_errors.py .
======================= 1 passed in 0.11 seconds ========================
________________________________ summary ________________________________
py27: commands succeeded
congratulations :)
mbp0 pytest_test[master+*] $
독극물이에 유래에 처음으로 답변 중 하나입니다 여기 – Damirchi
당신의 코드를 게시하지 못할. 무슨 뜻인지 자세히 설명해 줄 수 있니? 내 코드는이 질문에 대한 구체적인 답변입니다. 텍스트 영역에 게시하기에는 너무 정교합니다. –
@JeffMacDonald 코드에 특별한 형식이 있으므로 사용할 수 있습니다! :) – gofr1