1

Python で、Web ページのコンテンツを読み取り、そのコンテンツに対して何らかの処理を行うメソッドを作成しました。

特定の http アドレスを使用してメソッドを単体テストしたいのですが、本番コードでアドレスを手動で割り当ててからテストする必要はありません。したがって、理想的には、必要な http アドレスの値を取得するある種のモック オブジェクト (Mock ライブラリを使用) を作成して、その値でテストを実行できるようにしたいと考えています。

補足として、テストの目的は、コードがテスト済みの http アドレスで正しい例外を発生させることを確認することです。

説明のために、テストしたいコードは次の形式です。

Class A

    method1()

        var1 = "wwww.something.com"
        read contents at address var1
        do stuff with contents (raise error if bad contents)

そして、単体テストで var1 = "wwww.somethingelse.com" を使用してコードをテストしたい (理想的には Mock ライブラリを使用)。

どんな助けにも感謝します。

4

1 に答える 1

1

メソッドがパラメータを取らない場合、どのようにして無効な URI が渡されるのでしょうか? テストしたい動作を引き起こすと予想される URI を渡して、メソッドをテストする必要があります。を使用する必要はありませんmock

モックが必要になるのは、これが特に単体テストである場合です。その場合、ネットワーク上でリクエストを行っているコードのブロック全体 (たとえば、urllib2.urlopen) を代わりに何かでモックアウトする必要があります。ネットワーク アクティビティを実行する代わりに、テストしたいコンテンツや HTTP エラーを吐き出します。

補足として、実際の製品コードをよりテストしやすい方法で構成することは、まったく合理的 (かつ推奨) です。

于 2012-08-12T03:46:24.523 に答える