![](/img/trans.png)
[英]running with pytest parametrize fixture I am getting `self` is not defined
[英]I am running pytest on cmd and i'm getting AssertionError
所以这是我正在测试的代码:
def test_sum():
test_list=[10,20,30,40,50]
result=sum(test_list)
assert result == 150
我得到的错误:
Microsoft Windows [Version 10.0.19041.630]
(c) 2020 Microsoft Corporation. All rights reserved.
C:\Users\97155>python -m pytest
================================================= test session starts =================================================
platform win32 -- Python 3.7.4, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: C:\Users\97155
collected 0 items / 1 error
======================================================= ERRORS ========================================================
____________________________________________ ERROR collecting test session ____________________________________________
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\runner.py:310: in from_call
result = func() # type: Optional[TResult]
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\runner.py:340: in <lambda>
call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\main.py:684: in collect
for direntry in visit(str(argpath), self._recurse):
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\pathlib.py:570: in visit
yield from visit(entry.path, recurse)
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\pathlib.py:570: in visit
yield from visit(entry.path, recurse)
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\pathlib.py:570: in visit
yield from visit(entry.path, recurse)
AppData\Local\Programs\Python\Python37\lib\site-packages\_pytest\pathlib.py:566: in visit
entries = sorted(os.scandir(path), key=lambda entry: entry.name)
E PermissionError: [WinError 5] Access is denied: 'C:\\Users\\97155\\AppData\\Local\\Application Data'
=============================================== short test summary info ===============================================
ERROR - PermissionError: [WinError 5] Access is denied: 'C:\\Users\\97155\\AppData\\Local\\Application Data'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================== 1 error in 0.27s ===================================================
我尝试使用命令(python -m pytest)和(pytest)运行代码。 但是,我仍然遇到同样的错误。
首先,您应该深入研究您要学习的库的文档。 pytest
的文档可以在这里找到。
您没有从命令行正确执行pytest
。 执行pytest
断言有几个步骤:
定义您的测试函数并使用 python 的assert
(您已经完成)使用断言语句
将目录更改为包含测试的.py
文件所在的目录
使用pytest test_file.py
pytest 在这里崩溃的原因是您从主目录的根目录运行它,并且主目录中的某些文件夹具有特殊权限
当 pytest 启动(无配置/无参数)时,它会尝试递归检测测试——这意味着它将尝试从您的工作目录向下访问每个文件/文件夹
在您的情况下,它会尝试在'C:\\Users\\97155\\AppData\\Local\\Application Data'
上列出,我猜这在 windows 上通常是不允许的?
我建议在你的主目录中创建一个子目录并在那里工作,例如我使用workspace
免责声明:我是 pytest 核心开发人员之一
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.