JavaでHTMLをパースしたい

5分で調べたメモ書きシリーズ(続くかは知らない)

動機

人力テストでExcel方眼紙にスクショ貼り付けるの疲れた。 コントローラの単体テストをコード書いてやりたい。

-> 出力されるビューをパースして含まれる値とか調べたい。

JavaのHTMLパーサライブラリ

hblog.glamenv-septzen.info

qiita.com

ググったらこの辺の記事がヒット。 今回はとりあえずJsoupを使ってみる。

Jsoup

jsoup.org

    // URLに接続してHTMLドキュメントを取得できる
    Document doc1 = Jsoup.connect("http://www.google.co.jp").get();
    // あるいはStringやファイルをパースできる
    Document doc2 = Jsoup.parse("<!doctype HTML><html><body><div id=\"hoge\" class=\"fuga\">Hello!</div></body></html>");

    // DOM操作が使える
    Element elm = doc2.getElementById("hoge");
    // CSSセレクタも使える
    Elements elms = doc2.select("#hoge");
    // テキストを取得したり
    System.out.println(elm.text());
    // 属性やクラスを含むかを確認できたり
    System.out.println(elms.hasClass("fuga"));

ところでそもそもコントローラのテストって

普通はどうやって/どういう項目をテストするのが普通なんだろう。 テストコードの書き方を教えてくれる人が周りにいない。

一応技術的なことは上司も話を振ればノッてくれるけど、 皆さん忙しくてコーディング改善とかまで手が回ってないから…