python-twitterでフレンドタイムラインを取得する2
doctest勉強用に書き直し。
テスト関連はまとめていきたい。
5.2.6.1 オプションフラグとディレクティブ
http://www.python.jp/doc/2.4/lib/doctest-options.html
本家ドキュメントより抜粋)
ELLIPSIS
このフラグを指定すると、予想出力中の省略記号マーカ (...) を実際の出力中の任意の部分文字列に一致させられます。部分文字列は 行境界にわたるものや空文字列を含みます。
doctest内に予測できない値が出力される場合に、使えます。
今回は、twitter.Api objectのアドレスはわからないため、ELLIPSISオプションを指定して、任意の部分文字列で処理できるようにしています。
""" >>> u = 'tarou' >>> p = 'yamada' >>> api = login(u, p) >>> api #doctest: +ELLIPSIS <twitter.Api object ...> >>> display_list = get_display_list(api) >>> len(display_list) > 0 True """ import twitter def login(user, user_password): """ return Twitter Api Object """ return twitter.Api(username=user, password=user_password) def get_display_list(api): """ return Display Strings list """ ft = api.GetFriendsTimeline() display_list = [] for f in ft: data = '%s: %s' % (f.user.screen_name, f.text) display_list.append(data) return display_list def _test(): import doctest doctest.testmod() if __name__ == '__main__': _test()