はじめに
robotframeworkの使い始めの頃は構文などが独特なので戸惑うことがあるのではないでしょうか。
僕自身まだrobotframeworkを使ってそこまで長くはないですが、時々すごく初歩的な事で詰まることがあります。
今回表示されたメッセージは
Test contains no keywords.
というものです。
エラーメッセージはシンプルで
「テストケースがありません」
エラー&サンプルプログラム
エラーが表示されたのは、メッセージのとおりTest Caseがなかったからです。
テストケースで同じような繰り返し部分をKeywordsで一つにまとめようとした時に誤ってTest Caseを消していました。
エラーが表示される簡単なサンプルコードです。
# string_replace.robot
*** Settings ***
*** Variables ***
*** Keywords ***
argument_test
Log to Console ${\n}Test
*** Test Cases ***
テスト1
実際にエラーが表示された時は(コメントアウトなどで)分かりにくい構成でした。
サンプルソースでは、15行目にテスト1で何をするのかのケースを書かなければいけません。
サンプルの様にTest Caseのテスト1に具体的に実行する内容が無い場合、
==============================================================================
Missing Testcase
==============================================================================
テスト1 | FAIL |
Test contains no keywords.
------------------------------------------------------------------------------
Missing Testcase | FAIL |
1 test, 0 passed, 1 failed
==============================================================================
とエラーメッセージが表示されます。
Robotframeworkはテストを実行するプログラムなので、Testcaseは省略できません。
ただ、上のサンプルでもあるように
- *** Settings ***
- *** Variables ***
- *** Keywords ***
といったテストデータテーブルは項目がなくても、問題なくテストケースは実行できます。
(サンプルではKeywordsがありますが、「argument test」を削除しても問題ありません)
普段は使わない場合はテストデータテーブルは一緒に削除するのですが、今回気になって試してみましたが個人的には意外でした。
さいごに
今回はrobotframeworkのエラーのうちTest Caseが抜けていたケースでした。
割と分かりやすいエラーメッセージとは思いますが、Test Caseを修正したりすると意外とこういったエラーに出くわすのではないかと。
この記事がお役に立ったのならば嬉しいです。
最後までお読みいただきありがとうございました。