1

このビューは次のようになります。

from fblib import Facebook

def foo(request):
    fb = Facebook( settings.facebook )
    data = fb.get_thingy()
    return render_to_response( .. , data, .. )

それをテストする良い方法は何でしょうか?ビューはそれ自体でリソースをフェッチするので、Facebookをどのようにモックできるかわかりません。私の考えの1つの代替策は、偽のFacebookサーバーを作成し、設定で接続の詳細を提供することです。したがって、次のような単体テストを取得します。

from fakebook import FakeFacebookServer

class ViewsFooTests(TestCase):
    def set_up( self ):
        self.facebook = FakeFacebookServer().start()

    def test_foo_connect( self ):
        response = self.client.get('/foo')
        self.assertEquals( response.status_code, 200 )

私が抱えている問題は、偽のFacebookサーバーを面倒に見えるようにすることです。Facebook.get_thingy理想的には、私はむしろメソッドをモックできることを望みます。提案?

4

1 に答える 1

1

ライブラリをモックするためのテストからビューモジュールを変更できます。

# tests.py
import myapp.views
...

    def setUp(self):
        myapp.views.Facebook = FaceBookMock
于 2011-07-03T08:24:49.213 に答える