VS2013中Python单元测试项目引用其他项目类失败求助
解决单元测试中ModuleNotFoundError的问题
你遇到的问题主要来自JSON配置的细节问题,加上Python模块导入的基础规则,我帮你拆解并给出修复步骤:
1. JSON配置中的路径转义错误
你在PythonSettings.json里写的SearchPaths是["..\PythonApplication1"],但JSON语法里反斜杠\是转义字符,这个路径会被错误解析(相当于丢失了反斜杠)。你需要把路径改成正斜杠或者双反斜杠:
{ "TestFramework": "unittest", "UnitTestRootDirectory": "PythonApplication1.UnitTests", "UnitTestPattern": "Test_*.py", "SearchPaths": [ "../PythonApplication1" ] }
或者用双反斜杠:
{ "TestFramework": "unittest", "UnitTestRootDirectory": "PythonApplication1.UnitTests", "UnitTestPattern": "Test_*.py", "SearchPaths": [ "..\\PythonApplication1" ] }
2. 源码目录缺少__init__.py文件
Python要求将包含模块的文件夹识别为可导入的包时,必须存在__init__.py文件(哪怕是空文件也可以)。你需要在PythonApplication1目录下新建一个空的__init__.py,这样MyOwnClass才能被正确识别为该包下的可导入模块。
3. 让VS加载最新配置和文件
做完上面两步后,建议你:
- 右键解决方案,选择重新加载解决方案
- 清理并重新生成整个解决方案
- 再尝试运行单元测试,确保配置和文件变更都被VS正确加载
按照这几步操作后,你的from MyOwnClass import MyOwnClass应该就能正常导入模块,单元测试也能顺利运行了。
内容的提问来源于stack exchange,提问作者Blackbriar
相关产品推荐
相关产品推荐

