外卖小哥搞iOS自动化 我在美团写Java的四年里踩的坑
YAML别缩进
2026-08-10 17:26
阅读 274
XCTest没那么可怕
iOS自动化可借鉴后端分层思想。单元测试直接测核心逻辑,执行飞快:
func testOrderPriceCalculation() {
let viewModel = OrderViewModel()
viewModel.foodPrice = 25.0
viewModel.deliveryFee = 5.0
viewModel.couponDiscount = 10.0
let total = viewModel.calculateTotal()
XCTAssertEqual(total, 20.0, "满减后价格计算错误")
}
异步等待差点把我送走
UI测试中绝不能用sleep,必须用XCTestExpectation:
let expectation = XCTestExpectation(description: "等待首页加载")
let restaurantList = app.tables["restaurantList"]
let exists = NSPredicate(format: "exists == true")
let expectationForList = expectation(
for: exists,
evaluatedWith: restaurantList,
handler: nil
)
wait(for: [expectationForList], timeout: 15.0)
把后端那套搬过来
借鉴测试金字塔,规划三层:
- 底层:XCTest测ViewModel/Model,秒级执行
- 中层:测网络与数据库,配合mock
- 顶层:关键UI流程(下单、支付)
手动回归从一天缩至半小时。
跟后端打通才叫真自动化
XCTest可与后端JUnit测试联动,通过CI/CD触发全链路验证。分层策略与异步处理已能保证发版不再熬夜。
标签:RunwayVeo后端GPT-4o
为你推荐
暂无相关推荐

评论 0