我已经安装了python 3.4.2,然后运行pip install -U pytest
来安装pytest。
我有以下示例脚本:
# content of test_sample.py
import pytest
def func(x):
return x + 1
def test_answer():
assert func(3) == 4
当我在IDLE中按 F5 时,它似乎没有运行任何东西。如何通过IDLE测试我的脚本?
更新
我尝试添加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
答案 0 :(得分:2)
尝试将pytest.main()添加到脚本的底部。
查看:http://pytest.org/latest/usage.html#specifying-tests-selecting-tests了解一些不同的选项和语法。
编辑:
在IDLE中运行时,您还需要像这样开始pytest:pytest.main("--capture=sys")