私はPythonで小さなアプリケーションを書いています.1つのモジュールはBeautiful Soup
、解析とurllib2
ページのダウンロードに使用するWebページのダウンロードと解析を担当しています.
ページの解析を担当するクラスの単体テストを作成するにはどうすればよいでしょうか。
いくつかの抽象化を作成urllib2
し、解析を担当するクラスにそれを注入することができ (私の計画では、異なる Web ページに対して異なるクラスを用意する予定です)、テスト中に、この抽象化をモックするオブジェクトを注入します。しかし、私はこの方法についてはよくわかりません。抽象化が必要だからではなく、テストを書くのが簡単になるので、抽象化を作成するだけです(少なくともそれが今のところ私が考えていることです)。
また、この抽象化をテストする方法に問題があり、正しく機能するにはインターネット接続が必要であり、テストを実行するときに、適切なページがダウンロードされたことをどのように主張できますか?