GebとSpockでログをファイル出力したい
【Geb】【Tips】GebとSpockでログをファイル出力したい
著者:ふじさわゆうき
問題
- GebとSpockでログをファイル出力したい
- 例えば、テストのページ遷移を"title"をログ出力しておくことで、第三者に示す資料の材料となる
解決
- Fileクラスを使って出力する
- 以下、テストクラスごとのログ出力のプログラム例である
- 「"target/" + LoggerTest.class.simpleName + ".log"」でクラス名によるログファイル出力をしている
- "logger.delete()"でログファイルの初期化をしている
- "logger.append"でログファイルに出力している
- 以下、テストクラスごとのログ出力のプログラム例である
class LoggerTest extends GebSpec { @Shared File logger = new File("target/" + LoggerTest.class.simpleName + ".log") def "output log file"() { setup: logger.delete() when: go "http://www.yahoo.co.jp" then: waitFor{ title == "Yahoo! JAPAN"} logger.append("firstPage: " + title + "\n") when: $("form").p = "sample" $("input",value:"検索").click() logger.append("search: " + "sample" + "\n") then: waitFor{ title == "「sample」の検索結果 - Yahoo!検索"} logger.append("secondPage: " + title + "\n") } }
- 出力結果
- target/LoggerTest.log
firstPage: Yahoo! JAPAN search: sample secondPage: 「sample」の検索結果 - Yahoo!検索