問題タブ [tox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python/tox、テストの前にプロセスを開始し、完了したらシャットダウンします
私はToxを使用して、開発中のシステムが新しい環境にインストールされたときに正常に動作することを確認しています(+ファイルの健全性チェックsetup.py
)。ただし、システムはmemcached
サーバーを使用しており、理想的には、実行ごとに新しいサーバーを生成したいと考えていTox
ます。
テストを実行する前にプログラムを起動する (そして後でシャットダウンする) 方法はありますか? それともカスタム ランナーを作成する必要がありますか?
編集:テストランナーはpy.test
python - 利用可能なpythonインタープリターに対してのみテストを実行するようにpython toxを説得するにはどうすればよいですか?
python tox を使用して、いくつかのバージョンの python に対して python unittestを実行していますが、これらの python インタープリターは、tox を実行しているすべてのマシンまたはプラットフォームですべて利用できるわけではありません。
Python インタープリターが利用可能な場合にのみテストを実行するように tox を構成するにはどうすればよいですか。
の例tox.ini
:
大きな問題は、自動検出される python 環境のリストが必要なことです。
coverage.py - すべてではなく単一の環境で pytest カバレッジを実行するように tox を構成するにはどうすればよいですか?
私は、さまざまなバージョンの Python 用に複数の環境を持つ複雑な tox.ini 構成を持っています。
デフォルトのpythonインタープリターでのみカバレッジを実行するようにtoxに指示する方法を知りたいです。
問題の 1 つは、デフォルトの Python 環境がプラットフォームごとに異なる可能性があることです。
tox -e py25,py26,docs
-e引数がpythonの検出されたバージョンである場所を呼び出すラッパースクリプトがあります。
望ましい動作: 単一の環境のカバレッジで pytest を実行します (これは jenkins と統合して実行することになっています)。
python - tox を使用して Windows に複数の Python インストールをセットアップする
Windows でtoxをセットアップして、複数の Python インストールに対してテストを実行しようとしています。C:\Python\PythonXX_YY
という名前のフォルダーに各 python をインストールしました。XX
これは python バージョン (例: 27) でYY
、32 または 64 のいずれかです。現在、C:\Python\Python33_64
新しい python ランチャーを使用して必要なバージョンを実行しているため、私の PATH にある python は のみです。このバージョンからtoxも実行しています。
最初の問題は、おそらくデフォルトの場所にないため、tox がこれらのインストールを検出しないことです。環境ごとに tox.ini でパスを設定することでこれを回避できますが、設定が自分のコンピューターに非常に固有のものになります。私のpythonがグローバルにどこにあるかをtoxに知らせるより良い方法はありますか?
2 番目の問題は、tox.ini で Python の場所を設定すると、実行時に次のエラーが発生することです (Python27 の場合)。
Python3.3 から Python2.7 のものをインストールしようとしているように見えますが、これまで virtualenv を実際に使用したことがないため、このエラーを誤解している可能性があります。
これに対する解決策が何であるかはわかりませんが、明白な解決策は、tox が python ランチャーを使用して必要な python バージョンを取得することであるように思われます。これを行う方法はありますか?
python - tox.ini で hg 依存関係を指定する
で hg 依存関係を指定する正しい方法は何ですかtox.ini
。例えば
残念ながら、これは機能せず、以下が吐き出されます。
の最後の行pip.log
は次のとおりです。
ただし、実行pip install hg+https://code.google.com/p/python-progressbar/
は機能します。
tox テスト環境は Python 3.3 を対象としています。
python - tox がインストール済みパッケージを削除しないようにする方法は?
numpy と scipy に依存するパッケージについて、Windows で tox を使用してテストを実行しています。
pip はバイナリのインストール方法がわからないので、numpy と scipy のバイナリを手動でインストールしました。テスト実行中に tox は numpy と scipy をアンインストールしましたが、依存関係が見つからないため、もちろんすぐに壊れます。
これは、古いバージョンの numpy と scipy を使用した python 2.5 で発生しました (下位互換性をテストするため)。
私の tox バージョン (tox の実行に使用する python 2.6) は tox-1.4.2 です。私の 2.5 環境の pip バージョンは pip-1.2.1 です。
これは、約 2 年前に tox テストをセットアップしたときには発生しませんでした。
質問: tox が numpy と scipy をアンインストールするのを防ぐ方法はありますか?
追加の質問: Windows でより適切に動作し、バイナリのインストール方法を知っている tox/pip の代替手段はありますか?
python - Pythontoxエラー「プラグインはすでに登録されています」
jediオートコンプリートライブラリで行っている作業のために、toxを使用してテストスイートを実行しようとしていますが、次のようになります。
完全な出力はここにあります:
https://gist.github.com/Astrac/5abdba7db62ac204325e
これはpytestdebug.logです:
https://gist.github.com/Astrac/b5728dfeb22c0d2fb0f5
メイン環境でpipを使用してtoxを実行し、クリーンな仮想環境内で実行してみたところ、同じ結果が得られました。また、(メイン環境と仮想環境の両方から)py.testを直接実行してみましたが、結果は同じでした。
一方、travisで実行されているのを見ることができるので、動作することはわかっています。
https://travis-ci.org/davidhalter/jedi/jobs/5765531
どんな助けでも大歓迎です、ありがとう!
python - tox をルートとしてインストールせずに、継続的インテグレーション ソリューションで python tox を使用していますか?
私は自己完結型のソリューションが好きで、マシンに何もインストールしなくても単体テストを実行できることが好きです。
これにより、準備をしなくても、複数のマシンで python パッケージをテストできるようになります。
tox をマシンにインストールせずに Python 単体テストを実行するために tox を使用することは可能ですか (どのように?) (ルート アクセス)。
nose - Python で unittest を実行する方法が多すぎるために生じる混乱を解決する
私は、Python パッケージをテストする完全でクリーンな方法を実装しようとしています。これは、次の要件に適合するものです。
- セットアップせずにクリーンなマシンでテストを実行する (virtualenv)
- 複数のプラットフォームから結果を収集する
- 複数の Python インタープリターから結果を収集する
- コードカバレッジ(複数の実行結果を 1 つのレポートにマージ)
- xml コード カバレッジ レポートを生成できるため、ビルド システムは時間の経過とともにこの変化を追跡できます。
- プラットフォームに基づいて無効化テストを有効にできる
- pep8 や autopep8 など、テストの前にいくつかのコマンドを実行します
- テストを並行して実行します。
私はいくつかのアプローチを使用しましnose + pytest
たtox + pytest
:pytest
主な問題は、どちらのアプローチを使用する方がよいかについて、明確な比較を見つけることができなかったことです。
誰かがこれらを説明し、これらの構成の使用例または制限をいくつか教えてもらえますか? ... いつどのアプローチを選択するかを明確にするためです。
最後に、これらのオプションが必要です。
quicktest
- テストをローカルで実行します。各コミットの前に必ず実行してくださいfulltest
- 新しいリリースを作成する前に、利用可能なすべてのプラットフォームでそれらを実行する完全なテスト