如果您的应用程序有一些全局变量与您运行时相对应dev_appserver.py
,您可以创建一个以该变量为条件的失败方法的模拟。
就我而言,该变量称为env_conf.FLASK_CONF
. 我使用以下代码来模拟 Braintree 生成调用。
# Imports
import braintree
import env_conf
from flask import render_template
# Mock Braintree in DEV environment
if env_conf.FLASK_CONF == 'DEV':
from functools import partial
def mock_generate(self):
return 'foobarbaz123'
braintree.ClientToken.generate = partial(mock_generate, braintree.ClientToken())
# Add payment handler
def add_payment():
token = braintree.ClientToken.generate()
return render_template('add-payment.html',
braintree_client_token=token)
这个想法一般是:
import problem_function
if DEV_ENVIRONMENT:
def mock_problem_fcn():
return 'expected response'
problem_function = mock_problem_function
problem_function()