def test_pay_retry_fail(self): pay = payment.Payment() # 模拟方法的调用的时候不要加括号() # side_effect 和return_value 同时存在的时候,只有side_effect有用 pay.requestOutofSystem = mock.Mock(side_effect=[TimeoutError, 500], return_value=200) # 模拟第三方支付接口返回200 resp = pay.doPay(user_id=1, card_num='12345678', amount=100) self.assertEqual('fail', resp)
def test_pay_fail(self): pay = payment.Payment() # 模拟方法的调用的时候不要加括号() pay.requestOutofSystem = mock.Mock(return_value=500) # 模拟第三方支付接口返回500 resp = pay.doPay(user_id=1, card_num='12345678', amount=100) self.assertEqual('fail', resp) pay.requestOutofSystem.assert_called() # 断言是否被调用一次 pay.requestOutofSystem.assert_called_with('12345678', 100) # 断言被调用且传参正确
def test_pay_success(self): pay = payment.Payment() # 模拟方法的调用的时候不要加括号() dd = "{'a':1,'b':2}" pay.requestOutofSystem = mock.Mock(return_value=dd) # 模拟第三方支付接口返回200 print('是否被调用:', pay.requestOutofSystem.called) resp = pay.doPay(user_id=1, card_num='12345678', amount=100) print('是否被调用:', pay.requestOutofSystem.called) self.assertEqual('success', resp)
def test_pay_retry_success(self): pay = payment.Payment() # 模拟方法的调用的时候不要加括号() # side_effect 和return_value 同时存在的时候,只有side_effect有用 pay.requestOutofSystem = mock.Mock(side_effect=[TimeoutError, 200], return_value=200) # 模拟第三方支付接口返回200 resp = pay.doPay(user_id=1, card_num='12345678', amount=100) print('被调用的次数:', pay.requestOutofSystem.call_count) print('被调用时的传参:', pay.requestOutofSystem.call_args) self.assertEqual('success', resp)
def test_success(self): pay = payment.Payment() mock.Mock(return_value=200) resp = pay.doPay(user_id=1, card_num="439019098", amount=200) self.assertEqual('success', resp)
def setUp(self): self.pay = payment.Payment()