0

我正在将我们的测试环境从 Nose 切换到 py.test 以测试 Turbogears2 Web 应用程序。

目前,当 Nose 运行时,它会从包含应用程序所需的所有测试变量的测试配置文件 (test.ini) 中收集信息。它似乎以一种自动的方式这样做(我只是在运行nosetests,一切都被加载了)

问题在于 py.test 无法指向正确的 INI 配置文件,因此我可以让应用程序加载我需要的变量。

目前,失败点是 pylons.app_globals ,它在运行 py.test 时根本不存在(因此一切都失败了)。

我已经阅读了 Turbogears 文档,但他们只提到了 Nose/nosetests 而没有别的。

有没有办法用我依赖的测试变量来引导应用程序 py.test ?

4

1 回答 1

1

就 py.test 的部分而言,您可以实现如下内容:

# content of conftest.py
def pytest_sessionstart():
    # setup resources before any test is executed

def pytest_sessionfinish():
    # teardown resources after the last test has executed

这样的 conftest.py 文件目前最好放在您的结帐根目录中,因为 py-1.3.4 只有在足够早的情况下才会运行这个钩子。

我还查看了 TurboGears 的一些信息,但并没有轻易找到实际加载 test.ini 的机制。如果有人可以提供此信息,我可以更新答案。

HTH。霍尔格

于 2010-10-01T09:00:04.107 回答