尝试使用文件夹结构在Python3中编写测试
package/
__init.py__
Foo.py
Bar.py
test/
__init.py__
test_Foo.pyFoo.py
import Bartest_Foo.py
import Foo在No module named Foo中运行python3 -m unittest结果
如果我将其更改为
from package import Foo它可以解决,但在Foo.py中它会有错误No module named 'Bar'
如果我将Foo.py更改为
from package import Bar测试将在没有错误的情况下运行,但是运行python3 Foo.py将导致No module named 'package'
关于这类问题,我已经看过了各种各样的答案,比如下面这个
Running unittest with typical test directory structure
还有这个
Python3 import modules from folder to another folder
而且他们都没有解决这个问题
发布于 2019-10-26 01:04:40
您的项目根目录(以及工作目录!)需要是包的父。
那么每个import都将以import package.module或from package import module的形式出现。
如果你运行python packgae/Foo.py或python -m package.Foo,它应该可以工作。
还可以查看pypa - sample project,以查看推荐的Python项目结构。
https://stackoverflow.com/questions/58562696
复制相似问题