[英]Run pytest via IDLE gui
I have installed python 3.4.2 and then ran pip install -U pytest
to install pytest. 我已经安装了python 3.4.2,然后运行
pip install -U pytest
来安装pytest。
I have the following example script: 我有以下示例脚本:
# content of test_sample.py
import pytest
def func(x):
return x + 1
def test_answer():
assert func(3) == 4
When I press F5 in IDLE it doesn't seem to run anything. 当我在IDLE中按F5时,似乎没有任何运行。 How do I get to test my script via IDLE?
如何通过IDLE测试脚本?
UPDATE UPDATE
I tried to add pytest.main()
, but I received an error. 我尝试添加
pytest.main()
,但是收到错误消息。
File "C:\Python34\lib\site-packages\_pytest\config.py", line 32, in main
config = _prepareconfig(args, plugins)
File "C:\Python34\lib\site-packages\_pytest\config.py", line 85, in _prepareconfig
pluginmanager=pluginmanager, args=args)
File "C:\Python34\lib\site-packages\_pytest\core.py", line 413, in __call__
return self._docall(methods, kwargs)
File "C:\Python34\lib\site-packages\_pytest\core.py", line 424, in _docall
res = mc.execute()
File "C:\Python34\lib\site-packages\_pytest\core.py", line 315, in execute
res = method(**kwargs)
File "C:\Python34\lib\site-packages\_pytest\helpconfig.py", line 27, in pytest_cmdline_parse
config = __multicall__.execute()
File "C:\Python34\lib\site-packages\_pytest\core.py", line 315, in execute
res = method(**kwargs)
File "C:\Python34\lib\site-packages\_pytest\config.py", line 636, in pytest_cmdline_parse
self.parse(args)
File "C:\Python34\lib\site-packages\_pytest\config.py", line 747, in parse
self._preparse(args)
File "C:\Python34\lib\site-packages\_pytest\config.py", line 719, in _preparse
args=args, parser=self._parser)
File "C:\Python34\lib\site-packages\_pytest\core.py", line 413, in __call__
return self._docall(methods, kwargs)
File "C:\Python34\lib\site-packages\_pytest\core.py", line 424, in _docall
res = mc.execute()
File "C:\Python34\lib\site-packages\_pytest\core.py", line 315, in execute
res = method(**kwargs)
File "C:\Python34\lib\site-packages\_pytest\capture.py", line 49, in pytest_load_initial_conftests
capman.init_capturings()
File "C:\Python34\lib\site-packages\_pytest\capture.py", line 78, in init_capturings
self._capturing.start_capturing()
File "C:\Python34\lib\site-packages\_pytest\capture.py", line 257, in start_capturing
self.in_.start()
File "C:\Python34\lib\site-packages\_pytest\capture.py", line 345, in start
raise ValueError("saved filedescriptor not valid anymore")
ValueError: saved filedescriptor not valid anymore
Try adding pytest.main() to the bottom of the script. 尝试将pytest.main()添加到脚本底部。
Check out: http://pytest.org/latest/usage.html#specifying-tests-selecting-tests for some of the different options and the syntax. 请访问: http : //pytest.org/latest/usage.html#specifying-tests-selecting-tests了解一些不同的选项和语法。
Edit: When running in IDLE, you'll also need to start pytest like this: pytest.main("--capture=sys")
编辑:在IDLE中运行时,还需要像这样启动pytest:
pytest.main("--capture=sys")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.