我们在使用硒和网络驱动程序以及Jbehave方面取得了一些成功。只是想知道其他人用于单元测试任何Web应用程序的Web层的内容? 我问的原因是,编写Web驱动程序测试用例和jbehave使得单元测试变得非常复杂,在更多情况下,编写实际的JSP页面需要更多的时间。
答案 0 :(得分:1)
单元测试Web层的一些想法:
使用MVC进行Web开发。假设您提取所有依赖项,单元测试控制器非常容易。
自由使用接口来提取JSP页面中的依赖项。例如,您的JSP是否进行数据库调用?考虑创建一个Repository接口,然后实现像MySQLRepositoryImpl.java这样实现接口的实现。这样,您还可以“模拟”界面并创建一个可在单元测试中快速运行的假数据库。
对于绝对需要使用依赖项的非常困难的问题,您可以获得Web服务器(Grizzly,Jetty)甚至数据库(H2,SQLite)之类的嵌入式版本。
确保编写代码,使每个函数只做一件事,一件事。这将需要一些重构,但它使测试变得更加容易。