ReponsesはHTTP通信を実施するrequestsモジュールをモックするライブラリ。信頼できそうなDropbox製。ライセンスはAPL 2.0。
class APITestCase(TestCase):
@responses.activate
def test_api(self):
import api
# setup
responses.add(
responses.GET,
'https://example.com/api/v3/users',
status=200,
body="[{'user': {'id': 1, 'username': 'test'}}]",
content_type="application/json",
)
# test
api.get_users()
assert responses.calls[0].request.method == 'GET'
assert responses.calls[0].request.url == 'https://example.com/api/v3/users'
似たようなのでhttprettyというのもあるんですが、Responsesの方が自分の好みにあってました。しばらく試してみようと思います。
※Responsesのインターフェースはhttpretty
の影響を受けていると思います。