GitHub操作的Python测试文件结构



我有以下目录结构:

main_dir/
|--.git/
|--.github/
|--workflows/
|--main.yml
|--package/
|--__init__.py
|--config.py
|--tests/
|--pytest.ini
|--test_config.py

test/test_config.py中,第一行从config.py文件导入一个类:

from package.config import Config

这些测试在本地运行时有效,但在GitHub Actions上我得到了错误ModuleNotFoundError: No module named 'package'。两者的工作目录相同(main_dir(。我哪里错了?

您的IDE应该将您的项目添加到您的python路径中。

您可以使用以下代码段将其添加到脚本中:

import os
current_dir = os.path.dirname(os.path.realpath(__file__)))
working_dir = os.path.join(current_dir , "..")
import sys
sys.path.append(working_dir)

现在,您可以使用在python路径中创建工作目录

from package.config import Config

要知道python路径中存在什么,只需打印sys.path

最佳做法是直接将工作目录添加到您的路径中。

  • 在窗口上
  • 在Linux上
  • 在MAC上

最新更新