Example #1
0
 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)
Example #2
0
 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)  # 断言被调用且传参正确
Example #3
0
 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)
Example #4
0
 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)
Example #5
0
 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)
Example #6
0
 def setUp(self):
     self.pay = payment.Payment()