【问题标题】:passing **settings info to unittest from nose将**设置信息从鼻子传递给单元测试
【发布时间】:2011-10-23 04:06:14
【问题描述】:

我正在使用鼻子运行我的单元测试。

我有 .ini 文件,例如 production.ini、development.ini、local.ini。最后,我有一个 test.ini 文件,如下所示:

[app:main]
use = config:local.ini

# Add additional test specific configuration options as necessary.
sqlalchemy.url = sqlite:///%(here)s/tests.db

在我的测试类中,我想像在我的应用服务器代码中一样设置数据库。比如:

engine = engine_from_config(settings)
initialize_sql(engine)

dbfixture = SQLAlchemyFixture(
    env=model,
    engine=engine,
    style=NamedDataStyle()
)

nose 如何将“设置”传递给我的测试代码?

我一直在阅读以下链接以获得一些指导,但我无法连接所有点。 http://farmdev.com/projects/fixture/using-fixture-with-pylons.html

非常感谢!

【问题讨论】:

    标签: python pyramid


    【解决方案1】:

    您需要自己解析 INI 文件中的设置。 Pylons 过去只需对“test.ini”的负载进行硬编码即可自动为您执行此操作。您拥有的两个选项是 1) 只需通过 settings = paste.deploy.appconfig('test.ini') 加载 INI 设置或 2) 自己加载实际的 WSGI 应用程序,就像您想通过 WebTest app = pyramid.paster.get_app('test.ini') 使用它一样,它将解析 INI 文件并返回实际的 WSGI应用程序。不幸的是,该路由不会让您直接访问 INI 文件,它只会自动将设置传递给您应用的启动函数main(global_conf, **settings)

    您还可能会发现功能测试中的Pyramid docs 很有用。

    【讨论】:

    • 谢谢,这正是我正在寻找的信息。我认为根据我测试的级别,我将创建使用这两种方法进行设置的固定装置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多