我正在尝试为我的应用程序编写单元测试。
不幸的是我在使用gettext时遇到了一些麻烦。
当我从main.py
运行我的软件时,一切正常,标签已翻译......
在我的主要运行中:
language = gettext.translation("NAME_SOFTWARE", locale_dir, languages=[default_locale])
language.install()
但是当我运行单元测试(PyTest)时,测试失败,因为'_'不存在。 例外:
create_document Exception : name '_' is not defined, in ...
所以我理解当我从测试中运行应用程序时,语言未初始化且_不存在。
我试图添加:
from gettext import gettext
_ = gettext
在我的文件中,但它很脏而且不起作用。
gettext文档说要使用:
import gettext
t = gettext.translation('mymodule', ...)
_ = t.gettext
我没有最后一行,但似乎没有它(至少当我从main.py启动应用程序时)。
我怎么能让它发挥作用?