2011-10-23 13 views
4

私は鼻を使ってユニットテストを行っています。**設定情報を鼻からunittestに渡す

私はproduction.ini、development.ini、local.iniなどの.iniファイルを持っています。私は私のアプリサーバーのコードと同じようにセットアップし、私がしたいデータベースを私のテストクラスで

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

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

:最後に、私は次のようになりますtest.iniファイルを持っています。何かが好きです:

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

ありがとうございました!

答えて

7

INIファイルの設定を自分で解析する必要があります。 Pylonsは "test.ini"の読み込みをハードコーディングするだけで自動的にこれを行うことができました。 2つのオプションは、1)settings = paste.deploy.appconfig('test.ini')でINI設定をロードするか、WebTest app = pyramid.paster.get_app('test.ini')を使用してINIファイルを解析して実際のWSGIアプリケーションを返すかのように、実際のWSGIアプリケーションを自分で読み込むだけです。残念ながら、そのルートではINIファイルに直接アクセスすることはできません。自動的に設定をアプリの起動機能main(global_conf, **settings)に渡します。

機能テストではPyramid docsが役に立つ場合もあります。

+0

ありがとう、それは私が探していた情報です。私はどのレベルをテストしているかによって、セットアップの両方の方法を使用するフィクスチャを作成することにします。 – lostdorje

関連する問題