class PaymentTest(unittest.TestCase): """ 测试支付接口 """ def setUp(self): self.payment = Payment() def test_success(self): """ 测试支付成功 :return: """ self.payment.authe = mock.Mock(return_value=200) res = self.payment.pay(user_id=10001, card_num="123444", amount=1000) self.assertEqual("success", res) def test_fail(self): """ 测试支付成功 :return: """ self.payment.authe = mock.Mock(return_value=500) res = self.payment.pay(user_id=10002, card_num="1233444", amount=1000) self.assertEqual("fail", res) def test_retry_success(self): """ 测试支付失败重试在成功 side_effect 可以为序列类型 异常类型,对象 如果为序列类型 每次调用mock对象,会依次将side effcet中的元素返回 :return: """ self.payment.authe = mock.Mock(side_effect=[TimeoutError, 200]) res = self.payment.pay(user_id=10003, card_num="1234444", amount=1000) self.assertEqual("success", res)
# criando um novo pedido order = Order(foolano, '08012') # adicionando um produto order.add_product(produto) produto2 = Product('bela e a fera', 30, 'midia_digital') order.add_product(produto2) print('Valor total do pedido:', order.total_amount()) # cria um pagamento attributes = dict( order=order, payment_method=CreditCard.fetch_by_hashed('43567890-987654367')) # endereço de cobrança shipping_address = Address('90233') payment = Payment(attributes=attributes) payment.pay(shipping_address) print('Valor do pagamento:') print(payment.amount) # começa os envios if (payment.is_paid()): print('Métodos de envio') payment.order.send_orders() else: pass print('################################################') # Teste sem desconto cliente2 = {"name": "alynne", "cpf": "487845", "zipcode": "04574"} print('Teste Cliente normal') foolano2 = Customer(cliente2) # criando um novo produto