問題タブ [lettuce]
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 - レタスとTeamCityの統合
TeamCityでレタスを使用することは可能ですか?
unittestとnoseで可能であることは知っていますが、レタスは標準のテストランナーを使用していないため、teamcitypythonテストランナーを使用できません。
TeamCityを維持したい場合、別のBDDテストフレームワークを使用する必要がありますか?
python - レタス:シナリオの概要の前にコードを実行する
Python2.6でlettuce0.1.35を使用していますが、シナリオアウトラインを定義すると、@lettuce.before.each_scenario
デコレータで定義されたコードがシナリオアウトラインの各インスタンスの前に実行されないことに気付きました。各シナリオ定義を個別のシナリオとして繰り返すと、コードが実行されます。
同じシナリオの概要で定義された各シナリオ間でコードを実行するにはどうすればよいですか?
python - レタスを使った円形の輸入地雷
PyDevに3つのプロジェクトを設定しましたが、それらはすべてプロジェクト参照リストに相互に含まれています。説明のために:
例として、テスターは次のようにします。
およびmod_bar:
私が見ているのは、fooからのインポートの一部はImportError: cannot import name
、テスターから呼び出すとmod_barに取り込まれることです(重要なのは、すべてではありませんが一部です)。mod_barだけを実行すると、インポートは正常に機能します。依存関係を削除してmod_barからインポートし、テスターから実行すると、正常に機能します。クラスのサブセットがfinからbとtの両方にインポートされ、tから実行された場合にのみ壊れます。インポートがどのように機能するかについてのドキュメントを読み、解決策を探し回ってみましたが、正しい方向を示しているものは何も見つかりませんでした。これはPython内部のあいまいな部分と関係があると感じていますが、それが何であるかを知るには十分な知識がありません。
tester
これは何が起こっているかを正確に表していると思いますが、からの参照mod_bar
が間接的であるという複雑さの層が追加されています(これは、実際にはレタスですがtester
、コードを操作するときにコードを操作するために使用するファイルですmod_bar
地形ファイル、およびレタスはtester
呼び出している他のいくつかのモジュールによってロードされています。)誰かがこの問題を乗り越える方法に関する情報を探し始めるための少なくともいくつかの場所を私に提供できますか?
編集:
私はこれをもう少し、特にスタックトレースを見ていました:
私terrain = fs.FileSystem._import("terrain")
にlettuce.__init__()
これらの頭痛の種を与えている循環輸入を引き起こしている可能性がありますか?
python - レタス テスト スイートを開始するときに環境を制御する方法
Python/Lettuce に裏打ちされたトップレベルの Gherkin インターフェイスを持つテスト フレームワークを構築しています。これを継続的インテグレーション インフラストラクチャ (Hudson) に組み込み、同じテストを任意の環境 (dev-int、qa-int、stage など) で簡単に実行できるようにしたいと考えています。コマンドラインでパラメーターをテストに渡すことができないため、私が考えているアプローチは次のとおりです。
ハドソン・ジョブ
- 目的のテスト環境に基づいてテストを実行する構成ファイルをマシン上で動的に構築するサブジョブ
- サブジョブはランナー マシンでレタスを開始し、地形ファイルは動的構成から値を取得して正しい環境に対してテストを実行します
- サブジョブは構成ファイルを削除します
これは機能しますが、ハックな回避策のように思えます。私はググってみましたが、レタスを書いた人でさえ、構成は必要ないと考えているようです。必要に応じて、テストの外部で環境変数を設定し、地形の内部からそれらを読み取る必要があります。コマンドライン引数を渡すことができるようにレタスを再設計する以外に、この目標を達成するための他の方法を考えられる人はいますか?
python - レタスと奇妙なキャラクター
レタスを走らせてみました。通常は機能しますが、使用した場合:
次のようなカラーコマンドがたくさんあります。
ファイルに書き込むときにそれを取り除く方法は?
たとえば、キュウリはコンソールに素敵な色を印刷し、通常のテキストはlessとfileに印刷します。
namespaces - BDD(レタス)での名前の競合を回避する方法
異なるシナリオの2つのステップがたまたま同じ名前を持っている状況を考えながら、DjangoでBDDを学ぶためにレタスをいじっています。
上記のステップは、競合するステップが、異なる意味を持つ複数のシナリオでたまたま定義されたものです。次に、このステップの以下のテストコードが、このステップのすべての発生に対して実行されます。
私の質問は、同じ名前で異なるシナリオのステップに対して異なるテストコードを作成できるような名前空間メカニズムはありますか?たとえば、次のテストコードなどを期待しています。
python - レタス テスト ステップで複数の引数を渡す
通常、各レタス テスト ステップは 1 つのパラメーターを受け取ります。1 つのステップで複数の引数を渡す方法はありますか?
のように、私はこれを持つことができます:
python - 実行するレタス シナリオを指定する方法
実行するレタス シナリオを指定する方法
Pythonレタステストフレームワークを使用しているときに、このケースに頻繁に遭遇しました。1つのシナリオが失敗したため、このシナリオにズームインしてこのシナリオを修正したいと考えています
機能ファイルで実行するレタス シナリオを指定できますか?
lettuce - レタス 'world' 使用時の AttributeError
私は2つのファイルを持っています:
steps.py:
テスト機能:
それらに対してレタスを実行すると、次のように返されます。
何がうまくいかないのかについてのアイデアはありますか?