前端知库

组件测试为什么应优先测试用户可见行为?

参考答案

测试应描述用户能看到和做到的事情,例如输入条件后出现正确结果,而不是依赖组件内部状态名或私有方法。这样重构实现时,只要行为没变,测试就不应大面积失效。

优先按角色、标签和可访问名称定位元素,使测试与真实交互接近。适量使用 test id 可以提供稳定入口,但不应让它替代正确语义。对异步界面应等待可观察状态,而不是写固定延时。

单元测试适合纯函数与边界规则,组件测试验证区域协作,端到端测试覆盖关键用户路径。层次并非越多越好;测试价值在于能发现真实回归,而不是机械追求覆盖率数字。