可以在Hudson中运行GAE测试吗?

时间:2010-12-15 02:16:53

标签: google-app-engine hudson code-coverage nose nosetests

我有一套使用 nose 调用的App Engine测试。当我从终端运行它们时,每个测试都会成功完成,并生成所有报告,例如 coverage

但是,如果我尝试从Hudson调用相同的命令,我会从覆盖范围中获得以下失败:

nose.failure.Failure.runTest (from Failure)

Parent module 'coverage' not loaded
-------------------- >> begin captured logging << --------------------
root: INFO: zipimporter('/home/wraith/dev/projects/myapp/lib/python2.5/site-packages/NoseGAE-0.1.7-py2.5.egg', '')
root: WARNING: Could not read datastore data from /tmp/nosegae.datastore
root: WARNING: Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named Image
root: INFO: zipimporter('/home/wraith/dev/projects/myapp/lib/python2.5/site-packages/gaetestbed-0.12dev_r30-py2.5.egg', '')
root: INFO: zipimporter('/home/wraith/dev/projects/myapp/lib/python2.5/site-packages/WebTest-1.2.1-py2.5.egg', '')
root: INFO: zipimporter('/home/wraith/dev/projects/myapp/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg', '')
root: INFO: zipimporter('/home/wraith/dev/projects/myapp/lib/python2.5/site-packages/WebOb-0.9.8-py2.5.egg', '')
root: INFO: zipimporter('/home/wraith/dev/projects/myapp/lib/python2.5/site-packages/PyYAML-3.09-py2.5-linux-x86_64.egg', '')
root: DEBUG: Could not import "strop": Disallowed C-extension or built-in module
--------------------- >> end captured logging << ---------------------

但是,如果我删除对 coverage 的调用,我的测试仍会失败。

我用 Hudson 成功运行了Python项目。 GAE的细微差别让我沮丧吗?

1 个答案:

答案 0 :(得分:1)

将手动运行时的环境与使用hudson运行时的环境进行比较。

我怀疑初始化发生在.profile文件中。当Hudson产生一个shell时,就不会调用它。因此,要么将此初始化置于环境初始化中,要么在受影响的构建步骤中手动调用.profile文件。