您的位置:首页 > 编程语言 > Java开发

springMVCJunitTest某个功能模块

2016-12-19 00:00 344 查看
摘要: 采用springMVCJunit精简测试javaweb系统某个service模块,测试Controller业务,模拟httpReqeust提交

-- 测试类

@ContextConfiguration(locations={}) 自动扫描webinfo下的资源文件

import java.text.ParseException;
import java.util.Date;

import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

/**
* <p class="detail">
* 功能:测试
* </p>
* @ClassName: TestAddProductUser
* @version V1.0
* @date 2016-12-19
* @author damowang
*/

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:/applicationContext.xml",
"classpath*:/springXml/applicationContext-*.xml" })
@Transactional
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
public class TestAddProductUser {

@Autowired
ProductUsersService productUsersService;

MockHttpServletRequest request;

Logger logger = Logger.getLogger(TestAddProductUser.class);

@Before
public void testBefore(){
logger.info("开始执行测试...");
request = new MockHttpServletRequest();
}
@After
public void testAfter(){
logger.info("结束执行测试...");
}

/**
* @throws ParseException
* @throws ParseException
* <p class="detail">
* 功能:系统导入execl时,不做任何计算,仅仅读取记录
* </p>
* @author wuxw
* @throws
*/
@Test
public void test用户欠款() throws ParseException {
// TODO Auto-generated method stub
TbProductUsers proVo = new TbProductUsers();
// 借款用户id
proVo.setUserId("6");
// 借款产品id
proVo.setProductId("29");
// 借款天数
proVo.setDays(365);
// 是否结束
proVo.setIsEnd(0);
// 开始还款时间

proVo.setLoanTime(DateUtil.parseDate("2015-10-01"));
Date endDate = DateUtil.addDay(proVo.getEndTime(),proVo.getDays());
// 结束还款日
proVo.setEndTime(endDate);
// 设置登录人及创建时间
proVo.setCreateUser("6");
proVo.setCreateTime(new Date());
Long newId= productUsersService.addThis(proVo);
System.out.println(newId);
}
}


报错时,注意是否确实jar包



<!-- https://mvnrepository.com/artifact/org.apache.geronimo.specs/geronimo-servlet_3.0_spec -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_3.0_spec</artifactId>
<version>1.0</version>
</dependency>


测试Controller业务方法

有过多种测试Controller方法,比如MockMvc测试,这里仅做简单测试,我们测试Controller方法时,直接注入Controller时就可以了;

MockHttpServletRequest request;

MockHttpServletResponse response;

@Autowired
UserController userController;

@Autowired
UserService userService;
Logger logger = Logger.getLogger(UserManagerTest.class);

@Before
public void testBefore(){
logger.info("开始执行测试...");
request = new MockHttpServletRequest();
request.setCharacterEncoding("UTF-8");
response = new MockHttpServletResponse();
}

@Test
public void httpContorllerTest登录() throws Exception{

String result = userController.doLogin(request, response, "187581512**","123456",1);

System.out.println(result);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springmvc Java EE JUnit