Skip to main content
 首页 » 编程设计

python之通过 IDLE gui 运行 pytest

2024年08月26日32cyq1162

我已经安装了 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 

请您参考如下方法:

尝试将 pytest.main() 添加到脚本底部。

checkout :http://pytest.org/latest/usage.html#specifying-tests-selecting-tests对于一些不同的选项和语法。

编辑: 在 IDLE 中运行时,您还需要像这样启动 pytest:pytest.main("--capture=sys")