我正在使用 robots.libdoc 为 Robot Framework、Python 和 Java 库生成自动文档。不幸的是,在一些 Python 库中,我有如下代码:
def __init__(self):
try:
self.HADOOP_HOME = os.environ["HADOOP_HOME"]
except KeyError as k:
self.print_to_log("HADOOP_HOME isn't defined")
raise k
由于 robots.libdoc 正在调用 __init__
,因此会引发错误并且不会创建文档文件。有没有办法跳过错误?我发现它可以运行,但不能用于 libdoc。
感谢和问候,
最佳答案
其中一种方法是使用延迟初始化。从 __init__
方法中删除所有逻辑,并将其放入 _init
中,稍后库中定义的每个关键字都会调用该逻辑。下面的例子。
def __init__(self):
self._ready = False
def _init(self):
if self._ready:
return
''' your initialization logic goes here '''
self._ready = True
@keyword
def my_keyword(self, param1, param2):
self._init()
''' ... '''
关于python - Robot.libdoc 正在调用 __init__ 并失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45431536/