【发布时间】:2023-03-03 07:37:22
【问题描述】:
我正在尝试为我一直在从事的项目执行测试用例。我以前曾成功执行单元测试,但现在出错了。我确定没有任何库的更新或路径中的更改。我试图查看源代码并弄清楚为什么它会出错但还没有运气。对此的任何帮助将不胜感激。
Python 版本 - 3.7.1
下面的示例代码
import unittest
class MyTestCase(unittest.TestCase):
def test_dummy(self):
self.assertEqual(2+2,4)
我在cmd中使用了如下命令来执行测试。
C:\Users\Yadada\Desktop\repo\mwe\mwe>python -m unittest tests\test_file.py
我的文件夹结构是
MWE -|
|_tests - |
|_test_file.py
预期的输出是正在成功执行的测试,因为它是一个简单的测试。但我最终得到以下错误
strclass
ERROR: test_file (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_file
Traceback (most recent call last):
File "C:\Users\yadada\AppData\Local\Continuum\anaconda3\lib\unittest\loader.py", line 156, in loadTestsFromName
module = __import__(module_name)
ModuleNotFoundError: No module named 'tests.test_file'
----------------------------------------------------------------------
Ran 1 test in 0.001s
【问题讨论】:
-
您在
tests目录中是否有一个__init__.py文件以使它们作为模块的一部分被发现? -
不,我没有,我之前在同一个
tests目录中从未有过__init.py__文件,但测试工作正常。 -
@aws_apprentice - 我在测试文件夹中放了一个空的
__init__.py文件,令人惊讶的是,单元测试现在可以工作了。我想知道为什么?如果可以的话,你能简要解释一下这种行为吗?如果您将其发布为答案,我会接受。谢谢 -
我也有这个错误,__init__.py 在 Python 3.3+ 中是不需要,除非您需要在该目录中运行安装脚本
标签: python python-3.x unit-testing anaconda