Spring: A Developer's Notebook笔记和小结(9)

/**
作者:Willpower
来源:Rifoo Technology(
http://www.rifoo.com
时间:2006-01-13
备注:转载请保留以上声明
**/

我们前面已经实现了简单的视图,下面是我们做测试的时间了。Web MVC的易测试性是它的一大优点。我们接下来可以看到一段优雅的测试代码来测试用户接口的核心部分。

2.4.1. How do I do that?
在这个测试用例中,我们简单的去调用控制器,并且确定能够返回正确的模型给我们。首先,我们编写一个简单的JUnit test case来调用BikesController

Example 2-20. ControllerTest.java
public class ControllerTest extends TestCase {

  private ApplicationContext ctx;

  public void setUp( ) throws Exception {
    //初始化上下文配置文件
    ctx = new FileSystemXmlApplicationContext(
      "war/WEB-INF/rentaBikeApp-servlet.xml");
  }

  public void testBikesController( ) throws Exception {
    BikesController controller = (BikesController)
      ctx.getBean("bikesController");
    ModelAndView mav = controller.handleRequest(null, null);
    RentABike store = (RentABike) mav.getModel( ).get("rentaBike");
    assertNotNull(store);
    assertTrue(store.getBikes( ).size( ) == 3);
  }
}


我们必须加载配置文件来测试Spring正常的加载每个bean。这里我们用Spring提供的FileSystemXmlApplicationContext类来加载上下文配置。

接下来,我们要测试验证器,看它是否能够正确的验证错误。

Example 2-21. ControllerTest.java
public void testBikeValidator( ) throws Exception {
    BikeValidator v = (BikeValidator) ctx.getBean("bikeValidator");
    Bike bike = new Bike("test", "test", 1, "test", 2.00, "test");
    Errors errs = new BindException(bike, "bike");
    v.validate(bike, errs);
    assertFalse(errs.hasErrors( ));
    bike = new Bike( );
    errs = new BindException(bike, "bike");
    v.validate(bike, errs);
    assertTrue(errs.hasErrors( ));
  }


小结:我们现在已经完成了第二章的修改部分,这一章中我们学习了Spring MVC的简单用法,并且结合书中的代码进行了简单的补充。下一章中,我和大家一起继续学习Spring和其他用户接口框架的集成,如Struts和JSF的结合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值