首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python单元测试模块抛出"ModuleNotFoundError:没有名为‘tests.test_file’的模块“

Python单元测试模块抛出"ModuleNotFoundError:没有名为‘tests.test_file’的模块“
EN

Stack Overflow用户
提问于 2019-06-27 05:06:12
回答 2查看 31.9K关注 0票数 22

我正在尝试执行一个我一直在做的项目的测试用例。我以前成功地执行了单元测试,但是现在它出错了。我确信没有对任何库进行更新,也没有更改路径。我试图查看源代码,找出它出错的原因,但还没有成功。在这方面的任何帮助都将不胜感激。

Python版本- 3.7.1

下面是示例代码

代码语言:javascript
运行
复制
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

我的文件夹结构是

代码语言:javascript
运行
复制
 MWE -|
      |_tests - |
                |_test_file.py

预期的输出是测试正在成功执行,因为它很简单。但是我最终得到了以下错误

代码语言:javascript
运行
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-27 20:31:04

在测试文件夹中放置一个空的__init__.py文件后,此问题已得到解决。

有关其工作原理的更好解释,请参阅What is __init__.py for?

谢谢,@aws_apprentice帮我的忙。

票数 28
EN

Stack Overflow用户

发布于 2020-11-28 11:09:17

对于PyCharm 2020.2,当在子文件夹中运行单元测试时,也会发生"ModuleNotFoundError: No module named“错误,该子文件夹从被测父文件夹导入模块。默认情况下,PyCharm采用脚本路径来执行失败的测试,例如出现以下错误:

代码语言:javascript
运行
复制
ModuleNotFoundError: No module named '/home/foobar/projects/foo/mypythonproject/moduleundertest'

解决方案是编辑单元测试的run configuration,并将Unittests从"Script path“更改为"Module name”。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56780892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档