pytest运行后Empty suite的问题

我发现pytest文件运行很神奇,

如果我在main函数下点击右键,他的结果是这样的:

Ran 0 tests in 0.000s

OK

Process finished with exit code 0

Empty suite

 如果在一个函数下右击会报错(这里的原因是因为右击会运行单个测试函数,而我的函数是需要传参的,所以报缺少传入参数的错误)

 所以,我最后选择的运行方式是:

  底部终端处,cd进当前文件所在位置,输入pytest xxx.py命令,即可成功

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "empty suite" 是 pytest 运行时的一个错误提示,意思是测试套件为空。这通常是由于没有找到任何测试用例或测试文件而导致的。解决方法是检查测试文件的路径和命名是否正确,并确保测试用例的函数名以 "test_" 开头。如果仍然无法解决问题,可以尝试使用命令行参数 `--collect-only` 来查看 pytest 是否能够正确地收集测试用例。 ### 回答2: pytest 运行报 empty suite 可能是因为以下几个原因: 1. 测试文件名不符合 pytest 要求:pytest 要求测试文件的名称必须以 test_ 开头,或者以 _test 结尾。如果测试文件的名称不符合要求,pytest 就会认为该文件不是一个测试文件,从而报 empty suite。 解决方法:修改测试文件的名称,确保符合 pytest 的要求。 2. 测试代码中未定义测试函数:pytest 运行测试文件时,需要找到其中的测试函数进行执行。如果测试文件中不存在任何测试函数,pytest 就会认为该文件是 “空的”,从而报 empty suite。 解决方法:在测试文件中定义一个或多个测试函数,即可解决该问题。 3. 测试代码中未导入 pytest 包:pytest 提供了一些特殊的函数和工具,帮助用户进行测试。如果测试代码中未导入 pytest 包,就无法使用 pytest 提供的功能,从而导致 empty suite 报错。 解决方法:在测试文件中导入 pytest 包,即可解决该问题。 4. 测试文件与当前工作目录不符:pytest 运行测试时,会根据当前工作目录查找测试文件。如果测试文件不在当前工作目录中,就无法找到测试文件,从而报 empty suite 报错。 解决方法:切换到测试文件所在的目录,或者使用 pytest 的 --rootdir 参数指定测试文件所在的目录。 ### 回答3: pytest 是当前流行的 Python 单元测试框架,使用它可以为 Python 代码编写单元测试。在使用 pytest 运行测试时,有时会遇到 empty suite 的错误报告。这种错误通常是因为 pytest 找不到可执行的测试模块或测试文件所导致的。 那么,出现 empty suite 错误的具体原因和解决方法是什么呢?以下是一些可能导致 empty suite 错误的原因和解决方法: 1. 没有定义测试用例 在运行 pytest 命令之前,需要先定义好测试用例。如果没有定义任何测试用例,则会出现 empty suite 错误。为解决这个问题,需要在测试文件中定义测试用例。 2. 测试模块命名不正确 pytest 要求测试模块以 test_ 开头,否则会出现 empty suite 错误。因此,当测试文件命名不符合要求时,需要修改文件名,并确保以 test_ 开头。 3. pytest 执行的命令不正确 使用 pytest 命令运行测试时,需要确保使用的是正确的命令。如果使用的命令不正确,则 pytest 找不到测试文件,并报告 empty suite 错误。正确的运行 pytest 命令应该是:pytest [test_file_name.py] 4. 测试文件中没有标记测试用例 在测试文件中定义了测试用例后,还需要给每个测试用例函数添加标记。如果没有给测试用例函数添加标记,则 pytest 无法识别测试用例,并报告 empty suite 错误。为解决这个问题,需要添加标记,例如:@pytest.mark.test_case 综上所述,pytest 运行报 empty suite 错误的原因很可能是因为没有定义测试用例、测试文件命名不正确、运行 pytest 命令错误或测试用例函数没有添加标记等。解决方法是针对具体原因进行修复,并确保符合 pytest 的规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值