测试优化与工作单元模式实践
1. 端到端测试的改进
在之前的测试中,服务层测试与模型耦合,并且端到端(E2E)测试存在硬编码的 SQL 查询和对数据库的直接依赖。为了解决这些问题,我们可以添加一个 API 端点来添加批次,这样就能摆脱丑陋的 add_stock 夹具,让 E2E 测试更加简洁。
添加 API 端点很容易,借助服务函数,只需进行一些 JSON 处理和一次函数调用即可:
# API for adding a batch (entrypoints/flask_app.py)
@app.route("/add_batch", methods=['POST'])
def add_batch():
session = get_session()
repo = repository.SqlAlchemyRepository(session)
eta = request.json['eta']
if eta is not None:
eta = datetime.fromisoformat(eta).date()
services.add_batch(
request.json['ref'], request.json['sku'], request.json['qty'], eta,
repo, session
)
return 'OK', 201
可能有人会觉得向 /add_batch 发送 POST 请求不太符合
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



