2011-08-15 7 views
12

コマンドラインからノーズテストを実行するのではなく、ローカルテストインスタンスへの接続を含むすべてのテストに対していくつかの設定を行うテストランナーを使用しています。 MongoDB。鼻のドキュメントは、コマンドラインやホームディレクトリにある設定ファイルからオプションを渡す方法を示しているようです。スクリプトを使ってテストを実行するときに--with-xunitなどのオプションを渡す方法はありますか?Pythonテストスクリプトのオプションをノーズに渡す

import nose 

argv = ['fake', '--with-xunit'] 
nose.main(argv=argv) 

DBWの答えで説明したように「偽」の引数は、実行可能ファイル名のためで立つように追加する必要があります。このよう

答えて

8

+0

これを試しましたが、レポートが生成されていません –

+0

@Matt:本当ですか?私のプロジェクトで同じコードスニペットを使用しているので、 'xunit'レポートを生成するように変更しました。これは' nosetests.xml'の下で正常に生成されました!多分私は何かを逃しています... – mouad

+0

ええ、私はこれを最初に試して、レポートは生成されませんでした。コマンドラインで試して、私は1つを持っています。申し訳ありません: -/ –

16

ノーズは、最初の引数で何か不愉快なことがあるので、解析されません。私の鼻のラッパーは次のようなことをします:

ボーナスとして、これはプログラムのクライアントがその動作を制御するためにNose引数を使うことを可能にします!

+0

それは動作します。ありがとうございました。 – KobeJohn

+1

私はこれがより正しい答えだと信じています。最初の議論でノーズが卑劣であるという点は非常に重要なポイントです。 – munk

+5

鼻が卑劣ではない:)ポイントは、 'argv'リストは常に実行可能ファイルの名前で始まるということです。したがって、 'argv = ['--with-xunit']'と言うと、実行ファイルの名前を '--with-xunit'に設定し、引数を渡しません。これを修正するには、 'argv = ['fake'、 '--with-xunit']' – Timur

関連する問題