私は、SalesforceIQ APIを呼び出すコードを書いています。私は今私のコードを単体テストしようとしています(それぞれの関数の単体テストを書く)。私はAPI呼び出しを避けるために何か何かをする必要があるので、これについてどうやって行くべきか少し不明です。Pythonユニットテスト:APIコールの回避
def update_contact(name, phone, address, contact_id):
contact = Contact(contact_id)
set_contact_fields(contact, name, phone, address)
return contact.update()
contact.update()
は、APIの呼び出しです:
は、ここで私がテストしようとしている例機能です。だからを呼び出すことを避けたいと思いますが、update_contact
のテストではこれらの3つのフィールド(名前、電話番号、住所)を更新しています。
どのようにこれについて行くためのrecs?
ありがとうございます!
私はドキュメントを読んでいますが、少し精緻化することができますか?ありがとう! – bclayman
一時的に(テスト期間中)メソッドを 'MagicMock'インスタンスに置き換えます。 'MagicMock'は、自由に操作できるオブジェクトです(例えば、戻り値の設定、例外の発生、プロパティの設定など)、呼び出しを呼び出すことができます。このオブジェクトは、テストするコードがどのように使用されているかを検証できるように、テスト関数の最初の引数として渡されます。 – Anonymous
助けてくれてありがとう。私はあなたの例に完全に従っていません。あなたは 'update_contact'を呼び出してから、その更新が一度呼び出されたと主張しています。しかし、私は更新メソッドを持っていません、私はちょうどupdate_contactメソッドを持っています... – bclayman