代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

如果测试模块在姐妹文件夹中,如何让我的Python单元测试导入它们?

  •  14
  • Jader Dias  · 技术社区  · 14 年前

    我仍在思考 import 语句。如果我在同一级别有两个文件夹:

    1. SRC
    2. 测试

    如何制作 py 文件在 test 导入模块 src ? 是否有更好的解决方案(比如将文件夹放在另一个文件夹中?)

    3 回复  |  直到 7 年前
        1
  •  9
  •   mmmmmm    14 年前

    您需要的代码用于使用src/module_name.py

    from src import module_name 
    

    根目录位于pythonpath上,例如从根目录运行

    您的目录结构是我使用的,但是使用的是模型名而不是SRC。这个结构是从 J Calderone's blog 类似于 A google blog

        2
  •  7
  •   Vadikus    14 年前

    试试看:

    import sys
    import os
    sys.path.append(os.path.join('..', 'src'))
    import module_in_src_folder
    

    编辑以支持任何平台

        3
  •  0
  •   quamrana    14 年前

    对于我编写的所有Python项目,我都有与OP完全相同的情况:

    • 项目文件夹
      1. SRC
      2. 测试

    所有模块,无论是在SRC、TEST或它们的子文件夹中,都使用 import 马克的回答显示:

    from src import module_name
    

    我所做的是编写一个模块 Project Folder 并且递归地发现测试文件夹中的所有测试模块,并让UnitTest运行所有这些测试。当巨蟒在奔跑时 项目文件夹 ,则模块是相对于工作目录的。

    这意味着测试就像任何其他想要从中进行模块化的客户机一样 src .

    推荐文章