pandas 皮特斯坚持“收集...”

epggiuax  于 2023-01-15  发布在  其他
关注(0)|答案(5)|浏览(115)

我有一个文件new_script_piped. py,其中包含我想要测试的函数:

def columns_preparation(df):

    df.COLUMN_1.replace({'-999':'don't consider'}, inplace=True)
    ...more lines

    return df

以及测试文件test_new_script_piped. py

import pandas as pd
import new_script_piped as x

def test_columns_preparation(df):
    
    test_df = pd.read_excel('test_column_preparation.xlsx')
    result_df = pd.read_excel('test_column_preparation_result.xlsx')

    assert x.columns_preparation(test_df) == result_df

所有文件都在同一目录中。我已在命令行上尝试:
一个一个二个一个一个一个三个一个一个一个一个一个四个一个
他们都很差劲

platform darwin -- Python 3.7.3, pytest-4.5.0, py-1.8.0, pluggy-0.11.0
rootdir: /Users/31275553/Documents/
collecting ...
3pvhb19x

3pvhb19x1#

你的测试可能花了很长时间

pytest -s path_to_script.py

为了查看stdout是否有任何进度打印

lawou6xi

lawou6xi2#

通过缩小搜索测试目录的范围,我能够显著减少“Collecting...”延迟,这与finomayato的答案效果相同,通过config而不是提供测试路径作为参数。
根据文档中的例子,假设你想确保pytest不会深入git、build或前端依赖目录寻找测试:

# content of pytest.ini
[pytest]
norecursedirs = .git build node_modules

https://docs.pytest.org/en/latest/example/pythoncollection.html#changing-directory-recursion

ztyzrc3y

ztyzrc3y3#

如果有人仍然面临这个问题,并且他们的代码都不会导致无限循环,请尝试删除pycache目录,这可能会有所帮助。

rjee0c15

rjee0c154#

您有两种选择:

  • 使用这两个文件创建一个单独的模块,并从此目录运行pytest
  • 通过执行pytest test_new_script_piped.py指定要查找测试的文件/文件夹

由于pytest递归查找测试,因此问题可能是在包含大量文件的目录中执行pytest命令导致的(根据代码片段中提供的rootdir: /Users/31275553/Documents/判断,这可能是真的)。
如果这些选项都不起作用,那么最好知道/Users/31275553/Documents/目录中有什么

t1rydlwq

t1rydlwq5#

我卸载了pip列表中的pytest-dbfixtures,然后模块未找到错误已解决

相关问题