問題タブ [nose-parameterized]
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.
nose - 鼻のparameterize.expand呼び出しでクラスメソッドを使用する
テスト条件の大規模なセットを構築するジェネレーター メソッドがあります。非クラス メソッドを呼び出すことができることはわかっていますが、むしろパラメーター構築メソッドをテスト クラスの一部にする必要があります。これを行う方法はありますか?
ここに私がやりたいことの簡単な説明があります:
今、私は次のことをしなければなりません:
TL;DR:シナリオの generate_scenarios メソッドを、それを呼び出しているテスト クラス内に配置したいと考えています。
python - 有効な python コードの PyCharm エラー
鼻とパラメータ化されたテストに関する次の質問を投稿しました。
use-class-method-in-nose-parameterize.expand 呼び出し
答えが得られましたが、なぜ PyCharm がこれを有効なコードとして認識できないのか疑問に思っています。Pycharm でこの警告をオフにする方法を知っている人はいますか? または、これをバグとして Jet Brains に送信する必要がありますか?
これが私が知っていることですが、PyCharmは偽陰性のエラーメッセージを提供します:
python - notes_parametrized のテスト関数の名前を表示
を拡張unittest.TestCase
し、パラメータ化に使用するテスト クラスがありnose_parameterized
ます。私はnosetests -v
テストを実行するために使用しています。私はノーズテストのバージョン 1.3.7 を持っています。
テストランナーに各テストの名前を出力してもらいたいです。代わりに、テストに渡されたパラメーターを出力するだけです。
これが私の実際の出力の例です:
のドキュメントの例に基づいてnose_parameterized
、出力にはテスト メソッドの名前とそのクラスがほぼ次のように組み込まれているはずです。
しかし、そうではありません。
ドキュメントにはさらに次のように記載されています。
最初のパラメーターが文字列の場合、その文字列はメソッド名の末尾に追加されます。
したがって、各テストの最初のパラメーターとして渡す文字列に基づいて、出力は次のようになります。
しかし悲しいかな。
実際の出力に基づいて、どのテスト メソッドが実行されているか、またはどのテスト クラスからのものであるかを判断することさえ困難です。
各テストケースのテスト名をnoseに出力させるにはどうすればよいですか?
python - Pythonのデコレータでクラスプロパティにアクセスするには?
私はnose_parameterized
テストを使用しようとしていますが、それを unittest メソッドに使用したいと考えています。
ただしself
、デコレータ関数では定義されていません。これに対する回避策はありますか? グローバル クラス変数を使用できることはわかっていますが、.NET で変数を使用する必要がありますsetUp
。
python - 条件に基づいてさまざまなデコレータを適用する
ユニットテストとノーズ パラメータ化を使用しており、条件に基づいてさまざまなデコレータをテストに適用したいと考えています。
テストがあり、テストをスキップするか、args に渡された引数に基づいてunittest.skip
テストを実行したいと考えています。@parameterized.expand(args)
test に適切なデコレータを適用する別のデコレータが必要だと思いますが、どうすればよいかわかりました。
擬似コードは次のようになります。
args == None またはそれ以外の場合@validate_data(args)
に適用されるデコレータunittest.skip
@parameterized.expand(args)
コメント/提案は大歓迎です。