码迷,mamicode.com
首页 > Web开发 > 详细

web测试

时间:2015-08-30 00:52:23      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

web开发中为了确保程序的正确性,单元测试必不可少。但是不借助测试框架,测试的后,每次修改都要重启Tomcat等服务容器,很麻烦。Junit是个很不错的单元测试框架。若用JUnit4测试SSH框架的架构,尤其是Service层或Action层,若通过自动注解的方式,通常会碰到nullPointer的问题,我现在不能从原理的高度来解释,但是可以给出解决此类的方法。

1。新建一个基础类,用户加载配置文件,我将其设置为

/**
 *  加载配置文件的基础类
 *  
 * Created by li on 2015/8/29.
 */
@RunWith(SpringJUnit4ClassRunner.class)
//不能加载.properties文件,否则报错
@ContextConfiguration({"classpath:spring-config.xml"})
@Transactional
public class BaseTestConfig {
    
}

 2. 所有的测试类均继承BaseTestConfig,我写了一个Service类的测试类:

public class UserServiceTest extends BaseTestConfig {

    @Autowired
    private UserService userService;
    @Autowired
    private User user;

    @Test
    public void testCreate() throws Exception {
        user.setName("lixw");
        user.setPassword("1234");
        //Spring会自动回滚,不会写入到数据库中。经有篇博客说,Spring只是在session层写入,
        // 不会持久化到数据库中,这也比较贴近测试原则
        userService.create(user);
    }

    @Test
    public void testUpdate() throws Exception {
        user.setId("40283a814f7a188c014f7a188e260000");
        user.setName("lixw");
        user.setPassword("12345");
        //也不会持久化到数据库,
        userService.update(user);
    }
}

  可以直接通过RunAs等方式测试单个方法或者单个类的全部测试方法。我的是Maven项目,所以直接通过命令:

mvn clean test

  测试。测试结果如下:

技术分享

这里一篇灰常不错的博文JUnit与Spring的整合——JUnit的TestCase如何自动注入Spring容器托管的对象

web测试

标签:

原文地址:http://www.cnblogs.com/licqs/p/4770141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!