ロボットフレームワークPytest.Fixture.Fixture.
-
21-12-2019 - |
質問
フィーチャーは、Pytestが多いのが pytest.fixture は依存性注入を可能にします。一例として、私はそれを必要とする任意の関数に新しいランダムストリングsilly_string
を注入するフィクスチャを持つことができます:
conftest.py:
@pytest.fixture(scope='function')
def silly_string(request):
return ''.join(random.choice(string.ascii_lowercase) for _ in range(5))
.
test_strings.py
def test_string_length(self, silly_string)
assert len(silly_string) == 5
.
物後例、明らかに。
ロボットフレームワーク内の同等の機能を認識していません。現在、キーワードを使用して新しい変数を作成してから、その変数をパラメータとして渡します。パラメータが自動的に注入されているのはいいでしょう。
同様に依存性注入を行うためにロボットフレームワーク内に機構がありますか?
解決
いいえ、あなたが望むものをするためにロボットに組み込まれていない。
実行時に実行時に生成された文字列の場合は、ロボットの拡張変数構文。たとえば、Pythonオブジェクトへの参照を保持するロボット変数${v}
がある場合は、次のようなものができます。
| | ${v}= | Get reference to v
| | log | Hello ${v.silly_string()}`
.
上記は、silly_string
が指すオブジェクトに対して${v}
メソッドを呼び出します。キーワードGet reference to v
は、silly_string
メソッドを使用してオブジェクトを返すことを書き込むPythonベースのキーワードです。
所属していません StackOverflow