我对如何使用测试驱动开发来开发 Web-GUI 很感兴趣。
特别是我想知道是否有任何关于如何设计 Web 前端(即 HTML)以便(当然是自动......)可测试的指南/提示/最佳实践?(在经典的 UI 开发中,有支持 TDD 和自动化测试的 MVVC 等模式)
我对如何使用测试驱动开发来开发 Web-GUI 很感兴趣。
特别是我想知道是否有任何关于如何设计 Web 前端(即 HTML)以便(当然是自动......)可测试的指南/提示/最佳实践?(在经典的 UI 开发中,有支持 TDD 和自动化测试的 MVVC 等模式)
我不知道任何具体的指导方针,但编写干净、语义化的 HTML 并适当使用 CSS 类和 ID 通常就足够了。
Web 开发的模式与桌面开发非常相似。但是,这是一个很大的问题,网络是无状态的。这听起来很明显,但我认为它清楚地定义了测试的界限。
网络上有很多很多流行的MVC 化身。但是,在某些 Web 技术中,很难将纯 UI(HTML、CSS 等)与代码分开。您总是可以依靠更多的MVP方法,这类似于 MVVM,只是视图是被动的(不会响应事件并重新绑定)。这些模式应该涵盖应用程序的主要 UI 逻辑。所有这些模式都可以与 TDD 一起使用。
如果你想更上一层楼,你就会使用Selenium 之类的工具。这些工具允许记录/回放用户与 web ui 的交互。但是,如果随意使用,它们可能会导致脆弱的测试在布局更改时中断。
希望这可以帮助。