У нас есть это представление, которое выглядит примерно так:
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
. Предложения?