Robot Frameworkで、xUnit系にあるようなSetupやTeardownを使うことで、テストの実行前や実行後に必ず実施したいキーワードを指定できます。
- 2.2.6 Test setup and teardown - Robot Framework User Guide
- テストのセットアップとティアダウン - テストケースの作成 — RobotFramework和訳・日本語ドキュメント集
ただ、SetupやTeardownではキーワードが1個しか指定できません。
そのことをいつも忘れるため、メモしておきます。
環境
- Python 3.6.3
- Robot Framework 3.0.2
実験
テストケース
- SetupとTeardownのキーワードを1つにした場合
- SetupとTeardownのキーワードを2つにした場合
- SetupとTeardownのキーワードを1つにまとめた場合
- SetupとTeardownのキーワードをRun Keywordsで複数同時に起動した場合
を作ってみます。
*** Keywords *** セットアップキーワードをまとめた Log To Console ${\n}セットアップ1です Log To Console セットアップ2です ティアダウンキーワードをまとめた Log To Console ティアダウン1です Log To Console ティアダウン2です *** Test Cases *** SetupとTeardownのキーワードを1つにした場合 [Setup] Log To Console ${\n}セットアップです [Teardown] Log To Console ティアダウンです Log To Console テスト本体です SetupとTeardownのキーワードを2つにした場合 [Setup] Log To Console ${\n}セットアップ1です Log To Console セットアップ2です [Teardown] Log To Console ティアダウン1です Log To Console ティアダウン2です Log To Console テスト本体です SetupとTeardownのキーワードを1つにまとめた場合 [Setup] セットアップキーワードをまとめた [Teardown] ティアダウンキーワードをまとめた Log To Console テスト本体です SetupとTeardownのキーワードをRun Keywordsで複数同時に起動した場合 [Setup] Run Keywords Log To Console ${\n}セットアップ1です AND Log To Console セットアップ2です [Teardown] Run Keywords Log To Console ティアダウン1です AND Log To Console ティアダウン2です Log To Console テスト本体です
なお、Run Keywordsでは複数のキーワードを指定できます。
ただ、キーワードに引数がある場合には、キーワードの区切りに対して明示的に AND
を入れる必要があります。
実行してみます。
$ robot test_setup_teardown.robot ====================== Test Setup Teardown ====================== SetupとTeardownのキーワードを1つにした場合 セットアップです .テスト本体です .ティアダウンです SetupとTeardownのキーワードを1つにした場合 | PASS | ------------------------------- SetupとTeardownのキーワードを2つにした場合 セットアップ1です.テスト本体です SetupとTeardownのキーワードを2つにした場合 | PASS | ------------------------------- SetupとTeardownのキーワードを1つにまとめた場合 セットアップ1です セットアップ2です .テスト本体です .ティアダウン1です ティアダウン2です SetupとTeardownのキーワードを1つにまとめた場合 | PASS | -------------------------------- SetupとTeardownのキーワードをRun Keywordsで複数同時に起動した場合 セットアップ1です セットアップ2です .テスト本体です .ティアダウン1です ティアダウン2です SetupとTeardownのキーワードをRun Keywordsで複数同時に起動した場合 | PASS | --------------------------------- Test Setup Teardown | PASS | 4 critical tests, 4 passed, 0 failed 4 tests total, 4 passed, 0 failed
実行結果より、 SetupとTeardownのキーワードを2つにした場合
の場合のみ、最初のキーワードしか実行されていないようです。
ただ、テスト自体はパスしてしまうため、そのことに気づきにくいです。
そのため、SetupとTeardownにはキーワードが1つしか指定できないことを覚えておいたほうが良さそうです。
ソースコード
GitHubに上げました。 builtin_library_samples/test_setup_teardown.robot
ファイルが、今回作成したファイルです。
thinkAmi-sandbox/RobotFramework-sample: Robot Framewrok samples