2017-12-14 14 views
1

私はPythonとLinuxでRobotフレームワークを使用します。robotframeworkで名前付きパラメータと@keywordを処理する方法

デコレータにオプションの名前付きパラメータbcを使用する方法がわかりません。誰かが説明できますか?

以下の例を参照してください:

@keyword('Starting a "${a}" b "${b}"?? c "${c}"??') 
def Start(self, a, b='', c=''): 
    foo 
+0

これは単なるダミーラインです – ruud

+0

なぜこのインスタンスでデコレータを使用しますか?なぜ 'Start'というキーワードを使わないのですか?(例:' Start arg_a arg_b arg_c')? –

答えて

1

私はあなたの質問を理解する方法、デフォルトの引数を持つことになり、埋め込み引数、とキーワードを作成しようとしているが - そしてこれは、doc link, the last paragraph in Basic Syntaxを許可されていません。

あなたができることは、発信者が「デフォルト」の値を渡すために離れることです。例えば:

@keyword('Starting a "${a}" b "${b}" c "${c}"') 
def Start(self, a, b, c): 
    # just work with a, b, c, they *always* have _some_ value when called from RF 
    foo 

# later on, used in Robotframework code: 
Starting a "" b "" c "" 

この^、変数abcが空の文字列としてPythonの関数に渡されますようにと呼ばれる - 内部このコードを意味し、RFのデフォルト引数文字列型へこの場合の関数は次のようになります。

assert a == '' # will pass when called with no value for a 
assert type(b) == str # this will always work, regardless did b (or a, or c) have a value set in the call, or not 
+1

返事とメリークリスマスのためのThx – ruud

+0

お願いします - RFユーザーガイドは "聖書"です。非常によく書かれており、実際に知っておく必要があります。メリークリスマス :) – Todor

関連する問題