передача ** информации о настройке на юнит-тест из носа - PullRequest
4 голосов
/ 23 октября 2011

Я запускаю свои модульные тесты, используя перенос.

У меня есть файлы .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()
)

Как нос передает «настройки» моему тестовому коду?

Я читал следующую ссылку для некоторых указаний, но не смогсоедините все точки.http://farmdev.com/projects/fixture/using-fixture-with-pylons.html

Большое спасибо!

1 Ответ

7 голосов
/ 24 октября 2011

Вам нужно будет самостоятельно проанализировать настройки из INI-файла.Пилоны делали это автоматически для вас, просто жестко кодируя нагрузку для «test.ini».У вас есть два варианта: 1) просто загрузить настройки INI через settings = paste.deploy.appconfig('test.ini') или 2) загрузить собственно приложение WSGI самостоятельно, например, если вы хотите использовать его через WebTest app = pyramid.paster.get_app('test.ini'), который будет анализировать файл INI и возвращать фактический WSGIприложение.К сожалению, этот маршрут не дает вам доступ к INI-файлу напрямую, он просто просто передает настройки функции запуска вашего приложения main(global_conf, **settings).

. Вы также можете найти Pyramid docs нафункциональные тесты полезны.

...