2

私は、他の Web API (Facebook、Twitter など) と通信する Web API を Python で作成しています。この Web API は、API と同時にプログラムされています。

私はテスト駆動開発を使用するのが好きなので、どのように TDD を Web API に適用できるのだろうかと考えています。モックについては知っていますが、他の API をモックする方法と、自分の API への呼び出しをモックする方法を教えてください。

更新 1: 私の質問を指定するには。上記の条件で、TDD を使用して Web API を作成することは可能ですか。はいの場合、Python で使用できるライブラリはありますか。

4

1 に答える 1

4

あなたの質問はかなり広いので、私はあなたを参照します:

これは、モックを使用してpython-twitterGetSearchメソッドをモックする簡単な例です。

  • test_module.py

    import twitter
    
    
    def get_tweets(hashtag):
        api = twitter.Api(consumer_key='consumer_key',
                          consumer_secret='consumer_secret',
                          access_token_key='access_token',
                          access_token_secret='access_token_secret')
        api.VerifyCredentials()
        results = api.GetSearch(hashtag)
        return results
    
  • test_my_module.py

    from unittest import TestCase
    from mock import patch
    import twitter
    from my_module import get_tweets
    
    
    class MyTestCase(TestCase):
        def test_ok(self):
            with patch.object(twitter.Api, 'GetSearch') as search_method:
                search_method.return_value = [{'tweet1', 'tweet2'}]
    
                self.assertEqual(get_tweets('blabla'), [{'tweet1', 'tweet2'}])
    

Apiそれらを引き続き呼び出すには、ユニットテストでオブジェクト全体をモックする必要がありますunit tests。それが役立つことを願っています。

于 2013-06-02T17:28:55.277 に答える