15章Webサイトをスクレイパーでテストする
大規模な開発作業を含むWebプロジェクトに従事すると、定期的にテストされているものは業務中の「後方」部分だけであることが少なくありません。今日のほとんどのプログラミング言語は(Pythonも含めて)ある種のテストフレームワークを備えていますが、Webサイトのフロントエンドは、プロジェクトの中で唯一顧客の目に触れるところだというのに、この種のテスト自動化から取り残されていることが多いのです。
問題の一端は、Webサイトが多くのマークアップ言語とプログラミング言語の寄せ集めであることです。JavaScriptの部分に対してユニットテストを書くことができますが、やり取りをするHTMLが変わってしまって、JavaScriptがそのページで期待していた動作がなくなると、たとえ正しく動作しても役に立たなくなってしまいます。
フロントエンドWebサイトのテストという問題は、追加項目として放置されたり、高々チェックリストとバグトラッキングツールしか持たない低レベルのプログラマに任されたりすることが多いのです。しかし、少し前もって用意すれば、チェックリストを一連のユニットテストで、人間の目をWebスクレイパーで置き換えることができます。
Web開発のテスト駆動開発を想像してみてください。日次テストで、すべてのWebインタフェースが期待通り機能しているか確認します。テストスィートが、新たなWebサイト機能の追加のたびに、あるいは、要素の位置が変わるたびに実行されます。本章では、テストの基本を押さえ、Webサイトの全種類を単純なものから複雑なものまで、Python基盤Webスクレイパーでどのようにテストするかを述べます。
15.1 テスト入門
これまで自分のプログラムのテストを書いたことがないなら、今から始めるのに越したことはありません。プログラムが期待通りに(少なくとも、書いたテストの通り)動作することを確認するために実行できるテストスィートがあれば、時間と労力が省けて、新たな更新が容易にリリースできます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access