All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m24s
653 B
653 B
Interface Design for Testability
Good interfaces make testing natural:
-
Accept dependencies, don't create them
// Testable function processOrder(order, paymentGateway) {} // Hard to test function processOrder(order) { const gateway = new StripeGateway(); } -
Return results, don't produce side effects
// Testable function calculateDiscount(cart): Discount {} // Hard to test function applyDiscount(cart): void { cart.total -= discount; } -
Small surface area
- Fewer methods = fewer tests needed
- Fewer params = simpler test setup