1

我有一个带有大量功能测试的 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

有什么建议么?

4

1 回答 1

0

最后,我最终所做的只是在 epydoc 命令中包含 --parse-only ,以强制它不导入任何内容(从而解决无法定位的导入问题,但并没有真正回答为什么会发生这种情况)。不是一个完美的解决方案,但它满足要求......

于 2011-05-31T19:15:27.750 回答