外部のapiやライブラリに依存したシステムのテストコードってどう書けば良いのですか?xxx.yyy()みたいな外部ライブラリのメソッドがテストしたいクラス内で使われてるとした場合、このライブラリのメソッドは仮のメソッドに置き換えて固定値を常に返すようなものにして、テストコードを書くのですか?
テスト用が用意されてないなら、そうするしかないよね。
フレームワークやライブラリによっては、モック用のものが用意されていますよね。ない場合は自分で用意という感じなのですね。
出来れば本来のAPIが返す可能性がある内容をランダムで返す関数を作る。その関数ももちろんテストが必要になるけど。
ランダムな返り値を持つものが入り込んだらテスト出来なくないですか?
まぁ外部のAPIが信頼できる、もしくは変な値が返ってきてもAPI作成側に責任転嫁できるなら固定値でいいだろうけど、そうじゃないなら返り値にありえる値を正規表現とかでチェックしたほうがいいよね
えっ?
みんなの回答 2 件
テスト用が用意されてないなら、そうするしかないよね。
出来れば本来のAPIが返す可能性がある内容をランダムで返す関数を作る。
その関数ももちろんテストが必要になるけど。
関連するトピックス