我正在尝试执行一个我一直在做的项目的测试用例。我以前成功地执行了单元测试,但是现在它出错了。我确信没有对任何库进行更新,也没有更改路径。我试图查看源代码,找出它出错的原因,但还没有成功。在这方面的任何帮助都将不胜感激。
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
发布于 2019-06-27 20:31:04
在测试文件夹中放置一个空的__init__.py
文件后,此问题已得到解决。
有关其工作原理的更好解释,请参阅What is __init__.py for?
谢谢,@aws_apprentice帮我的忙。
发布于 2020-11-28 11:09:17
对于PyCharm 2020.2,当在子文件夹中运行单元测试时,也会发生"ModuleNotFoundError: No module named“错误,该子文件夹从被测父文件夹导入模块。默认情况下,PyCharm采用脚本路径来执行失败的测试,例如出现以下错误:
ModuleNotFoundError: No module named '/home/foobar/projects/foo/mypythonproject/moduleundertest'
解决方案是编辑单元测试的run configuration,并将Unittests从"Script path“更改为"Module name”。
https://stackoverflow.com/questions/56780892
复制相似问题