我们有这样的观点:
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
方法。建议?
答案 0 :(得分:1)
您可以从测试中修改视图模块以模拟您的库:
# tests.py
import myapp.views
...
def setUp(self):
myapp.views.Facebook = FaceBookMock