如果您正在编写库或应用程序,那么单元测试文件会在哪里进行?
将测试文件与主应用程序代码分开是很好的,但将它们放入app根目录内的"tests"子目录中是很尴尬的,因为这会导致导入您将要测试的模块变得更加困难.
这里有最好的做法吗?
我有以下文件结构:
bot
??? LICENSE.md
??? README.md
??? bot.py # <-- file that is executed from command line
??? plugins
? ??? __init__.py
? ??? debug.py
? ??? parsemessages.py
??? helpers
? ??? __init__.py
? ??? parse.py
? ??? greetings.py
??? commands
??? __init__.py
??? search.py
Run Code Online (Sandbox Code Playgroud)
bot.py当从命令行执行时,将加载plugins目录中的所有内容。
我想从目录plugins/parsemessages.py导入,所以我这样做:parsehelpers
# parsemessages.py
from ..helpers import parse
parse.execute("string to be parsed")
Run Code Online (Sandbox Code Playgroud)
我python3 bot.py从命令行运行。
我收到以下错误:
File "/home/bot/plugins/parsemessages.py", line 2, in <module>
from ..helpers import parse
ValueError: …Run Code Online (Sandbox Code Playgroud)