問題私は引き続きテストを "ブートストラップ"しています。ブートストラップテストとPythonテストディスカバリの使用
私が持っている問題はちょうどwhat this guy hasです。
トップソリューションは、「ブーストラップ」スクリプトの作成について語ります。私は、実行するテストをすべて列挙したり、__all__
キーワードを使って__init__.py
ファイルのテストマニフェストを使用しなければならないと推測します。しかし、私はmost recent Python documentation on unittestはもう__all__
について話していないことに気づいた。
は2.7で、私たちも、よりよい作品 "発見"
python -m unittest discover
と呼ばれるPythonコマンドを持っています。なぜなら: 1)鼻 2は必要)テストが
を明示する。しかし、「ブートストラップ」する方法を持っていないようするために必要はありませんがありません
私は別のテストランナーを使用する必要がありますか?ブートストラッピングと検出を可能にするもの?
py.testが必要ですか?
http://pytest.org/
ブートストラップが必要な理由は、this guy hasです。基本的には、テストを直接実行するとインポート・ステートメントが正しく機能しません。私は、アプリケーションが正常に動作するように、私のプロジェクトの上からテストスイートを実行したいと思います。
結局のところ、import文は常にその物理的な場所からの相対パスです。 (BTW、これはPythonの妨げになると思います)
定義:ブートストラップとは何ですか? ブートストラップとは、プロジェクト全体でテストを実行する前にいくつかのセットアップを行いたいということです。これは、プロジェクト全体のレベルで「テスト設定」を求めているようなものです。
更新 Here is another posting about the same thingです。この2.7コマンドを使用すると、Noseを回避できます。しかし、どのようにしてブートストラップが追加されますか?
だから、問題は、あなたがプロジェクトのトップにいないときに発見+ブートストラップを行うための何らかの方法が欲しいということですか?それは非常に限定されたユースケースのように思えますが、私は自分のプロジェクトの上からテストを実行します。 – djc
私はタイプミスをしている可能性があります。私は私のプロジェクトの上からそれを始めたいと思う - ちょうど私が私のアプリを正常に動かしていたかのように。 – 010110110101