关于放置Python单元测试的最佳位置是否存在共识?
单元测试是否应与被测试的功能包含在同一模块中(当模块单独运行时执行(if __name__ == '__main__'等等)),或者将单元测试包含在不同模块中更好?
也许这两种方法的组合是最好的,包括每个模块中的模块级测试,并添加更高级别的测试,测试多个模块中包含的功能作为单独的模块(可能在/ test子目录中?).
我假设如果测试包含在单独的模块中,测试发现会更直接,但如果他/她必须记住在修改测试模块时更新附加测试模块,则会给开发人员带来额外的负担.
我有兴趣了解人们对组织单元测试的最佳方式的看法.
这是我的项目设置:
my_project
./my_project
./__init__.py
./foo
./__init__.py
./bar.py
./tests
./__init__.py
./test_bar.py
Run Code Online (Sandbox Code Playgroud)
在里面test_bar.py我有以下import语句:
from foo import bar
但是,当我运行时,python /my_project/tests/test_bar.py我收到此错误:
ImportError: No module named foo.
有想法该怎么解决这个吗?