Python在包中添加单元测试

问题描述 投票:0回答:1

我有一个python软件包,我正在尝试为其编写单元测试该包如下所示

helper/
utils/
app/
requirements.txt
README.md
tests/

我来自Java背景,因此我考虑将测试与其源代码包装在同一包中,因此我的测试目录如下所示

tests/
  helper/
    helper_a_test.py
  utils/
    util_a_test.py
  app/
    myapp_test.py

当我尝试如下调用测试时

python -m unittest discover

测试失败,原因是从源导入错误,错误模块应用程序,助手,实用程序未找到。我所有的包都是__ init __。py文件。我将测试子目录中的所有测试移到了测试根目录中,如下所示。

tests/
  helper_a_test.py
  util_a_test.py
  myapp_test.py

现在所有测试均按预期进行。有人可以解释为什么会这样吗,将所有测试保留在一个目录中而不是放在自己的程序包中也是一种好习惯吗?

python python-3.x unit-testing python-import python-unittest
1个回答
0
投票

您至少有两种方法可以恢复原始结构并使之正常工作:

© www.soinside.com 2019 - 2024. All rights reserved.