はじめに
robotframeworkでテストを行う際にテストが途中で失敗しても必ず処理を行いたい事があると思います(ネットワークに接続した場合、最後にCloseする。開いたアプリを最後に閉じるなど)
テストケースで利用するteardown(ティアダウン)はrobotframeworkにもあります。
今回はそのteardownの簡単な使い方についてのメモです。
サンプルソース
Teardownがどの様なものかを知るための簡単なサンプルソースです。
*** Settings ***
Test Teardown 終了確認
*** Variable ***
*** Keywords ***
終了確認
Log To Console \nテスト終了確認中…
*** Test Cases ***
テスト1
Log To Console \nテスト1開始
テスト2
Log To Console \nテスト2開始
Fail Test失敗
テスト3
Log To Console \nテスト3開始
[Teardown]
テスト4
Log To Console \nテスト4開始
[Teardown] None
SettingsでTeardownを呼び出しています。
(今回はログを表示するだけのシンプルなものにしています)
Teardownで呼び出される内容ですが、Keywordsに中身を記載しています。
Teardownは特に指定がなければテストケースの最後に実施されます。
テストケースによってはTeardownが必要ない場合は引数で[Teardown]をつけます。
Noneと明示的に表示するか、引数をなしにするとそのテストはTeardownが実行されません。
上のソースを実行した結果です。
(一部見やすく表記を変えています)
==============================================================================
Teardown
==============================================================================
テスト1
テスト1開始
テスト終了確認中…
テスト1 | PASS |
------------------------------------------------------------------------------
テスト2
テスト2開始
テスト終了確認中…
テスト2 | FAIL |
Test失敗
------------------------------------------------------------------------------
テスト3
テスト3開始
テスト3 | PASS |
------------------------------------------------------------------------------
テスト4
テスト4開始
テスト4 | PASS |
------------------------------------------------------------------------------
Teardown | FAIL |
4 tests, 3 passed, 1 failed
==============================================================================
というように、Teardownの実行が行われている(Noneと引数なしの箇所)がわかると思います。
さいごに
今回はRobotframeworkでテストケースの成否の有無に関わらず行うTeardownについてでした。
冒頭でも書きましたが、「ネットワークへの接続」や「アプリの終了」といった必ず行いたい処理がテストケースが失敗で出来ない場合といった不具合を避けることが出来ます。
知っておくと便利な仕組みですので是非活用してみてください。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。