はじめに
前回はrobotframeworkでテスト実行後に必ず実施したい処理を入れるTeardownについてでした。
同様にテストを行う際の前処理が必要な場合もあると思います。
(テストで言われる「Setup」と呼ばれるもの)
今回はそのSetupの簡単な使い方についてのメモです。
サンプルソース
Setupがどの様なものかを知るための簡単なサンプルソースです。
*** Settings ***
Test Setup セットアップ
*** Variable ***
*** Keywords ***
セットアップ
Log To Console \nテスト開始前の設定中…
*** Test Cases ***
テスト1
[Documentation] Setupが実行されるケース
Log To Console \nテスト1開始
テスト2
[Documentation] 引数がない場合Setupは実行されません
Log To Console \nテスト2開始
[Setup]
テスト3
[Documentation] NONEを指定するとSetupが無効化
Log To Console \nテスト3開始
[Setup] None
テスト4
[Documentation] テスト開始と同時にまずSetupが実行されます
Fail
テスト5
[Documentation] Setupが実行されるケース
Log To Console \nテスト5開始
SettingsでSetupを呼び出しています。
(今回はログを表示するだけのシンプルなものにしています)
Setupで呼び出される内容ですが、Keywordsに中身を記載しています。
Setupは特に指定がなければテストケースの最初に実施されます。
テストケースによってはSetupが必要ない場合は引数で[Setup]をつけて、「None」と明示的に表示するか、引数をなしにするとそのテストではSetupは実行されません。
上のソースを実行した結果です。
==============================================================================
Setup
==============================================================================
テスト1 :: Setupが実行されるケース
テスト開始前の設定中…
テスト1開始
テスト1 :: Setupが実行されるケース | PASS |
------------------------------------------------------------------------------
テスト2 :: 引数がない場合Setupは実行されません
テスト2開始
テスト2 :: 引数がない場合Setupは実行されません | PASS |
------------------------------------------------------------------------------
テスト3 :: NONEを指定するとSetupが無効化
テスト3開始
テスト3 :: NONEを指定するとSetupが無効化 | PASS |
------------------------------------------------------------------------------
テスト4 :: テスト開始と同時にまずSetupが実行されます
テスト開始前の設定中…
テスト4 :: テスト開始と同時にまずSetupが実行されます | FAIL |
AssertionError
------------------------------------------------------------------------------
テスト5 :: Setupが実行されるケース
テスト開始前の設定中…
テスト5開始
テスト5 :: Setupが実行されるケース | PASS |
------------------------------------------------------------------------------
Setup | FAIL |
5 tests, 4 passed, 1 failed
==============================================================================
(一部見やすく表記を変えています)というように、Setupが行われている(Noneと引数なしの箇所)がわかると思います。
さいごに
今回はRobotframeworkでテストケースのSetupについてでした。
共通した設定などはこうしたSetupを使うと便利です。
引数によって微妙な設定の変更なども可能なようですので、知っておくと便利な仕組みですので是非活用してみてください。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。