1

我们的视图看起来像这样:

from fblib import Facebook

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

什么是测试它的好方法?由于视图自己获取资源,我不确定如何模拟 Facebook。在我看来,另一种选择是创建一个虚假的 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 回答