我有一个带有大量功能测试的pylons项目,我希望我的手动QA能够不时读取,所以我使用epydoc在功能测试模块上构建html pydocs。
似乎工作正常。它会生成文档,我可以在没有任何明显问题的情况下浏览它们。
然而,当我运行epydoc构建时,我收到一个奇怪的错误,我不知道如何解决它:
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| In project.tests.functional.resource:
| Import failed (but source code parsing was successful).
| Error: KeyError: '__file__' (line 28)
|
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| In /Eclipse/product/project/server/src/project/tests/functional/resource/ftest_module1.py:
| Import failed (but source code parsing was successful).
| Error: KeyError: '__file__' (line 28)
|
+------------------------------------------------------------------------------------------
总共有2个软件包和8个模块正在发生这种情况。我一开始认为,可能是模块头部或者包的__init__中没有文档字符串,但添加它们并没有修复它。
以下是专为功能测试编写的epydoc配置文件的副本:
[epydoc]
modules: project.tests.functional.resource,project.tests.functional.views
output: html
sourcecode: yes
#graph: none
target: ../pydoc/ftests
name: PROJECT
# exclude: test
private: no
imports: no
verbosity: 0
include-log: yes
这是用于执行它的shell脚本的副本:
#!/usr/bin/env bash
basedir=${0%/*}
cd "$basedir/../src"
etc="../etc"
pydoc="../pydoc"
pydoc_ftests="../pydoc/ftests"
mkdir -p $pydoc
mkdir -p $pydoc_ftests
epydoc -v --config $etc/epydoc.config
epydoc -v --config $etc/epydoc.ftests.config
有什么建议吗?
答案 0 :(得分:0)
最后,我最后做的只是在epydoc命令中包含--parse-only,强制它不要导入任何东西(因此解决了不可定位的导入问题,但没有真正回答为什么会发生这种情况)所有)。不是一个完美的解决方案,但它满足了要求......