当前位置: 首页 > news >正文

长沙做黄叶和网站的公司有哪些全能优化型网站

长沙做黄叶和网站的公司有哪些,全能优化型网站,做网站界面需要注意什么问题,产品开发怎么写编写单元测试时我们都习惯性减少重复代码 以下基于spring mvc框架&#xff0c;需要手动pom导包 BaseTest类用于启动上下文进行debug调试 MockBaseTset类用于不启动上下文进行打桩mock pom.xml <dependency><groupId>org.mockito</groupId><artifactId…

编写单元测试时我们都习惯性减少重复代码

以下基于spring mvc框架,需要手动pom导包

BaseTest类用于启动上下文进行debug调试

MockBaseTset类用于不启动上下文进行打桩mock

pom.xml

      <dependency><groupId>org.mockito</groupId><artifactId>mockito-all</artifactId><version>1.9.5</version><scope>test</scope></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-api-mockito</artifactId><version>1.6.1</version><scope>test</scope></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-module-junit4</artifactId><version>1.6.1</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version> 4.2.5.RELEASE</version><scope>test</scope><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency>

BaseTest.java

import com.thinkive.gateway.v2.result.Result;
import org.codehaus.jackson.map.ObjectMapper;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.springframework.http.HttpHeaders;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;import java.util.HashMap;
import java.util.Map;/*** @description: 单元测试基类*/@RunWith(SpringJUnit4ClassRunner.class)
//解决@Slf4j报错
@PowerMockIgnore({"javax.script.*","javax.management.*"}) 
@ContextConfiguration({"classpath*:dubbo_cfg/*.xml", "classpath*:spring-cfg.xml"})
//不用启动 Servlet 容器,就可以获取一个 Web 应用上下文
@WebAppConfiguration  
public class BaseTest extends Mockito{private static final ObjectMapper MAPPER = new ObjectMapper();protected Map<String,String> params = new HashMap<>();protected Map<String,String> headers = new HashMap<>();protected  MockMvc mockMvc;protected String prefix;/*** POST请求* @param url* @throws Exception*/protected JsonResult postHttp(String url) throws Exception {MultiValueMap<String, String> multiValueParamMap = new LinkedMultiValueMap<>();if (params.size() > 0) {multiValueParamMap.setAll(params);}HttpHeaders httpHeaders = new HttpHeaders();if (headers.size() > 0) {for (String key : headers.keySet()) {httpHeaders.set(key, headers.get(key));}}params.clear();MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post(prefix + url).params(multiValueParamMap).headers(httpHeaders)).andExpect(MockMvcResultMatchers.status().isOk()).andReturn();mvcResult.getResponse().setCharacterEncoding("UTF-8");mvcResult.getResponse().setContentType("application/json;charset=UTF-8");String result = mvcResult.getResponse().getContentAsString();return MAPPER.readValue(result, JsonResult.class);}/*** GET请求* @param url url后缀* @return JsonResult* @throws Exception*/protected JsonResult getHttp(String url) throws Exception {MultiValueMap<String, String> multiValueParamMap = new LinkedMultiValueMap<>();if (params.size() > 0) {multiValueParamMap.setAll(params);}HttpHeaders httpHeaders = new HttpHeaders();if (headers.size() > 0) {for (String key : headers.keySet()) {httpHeaders.set(key, headers.get(key));}}MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get(prefix + url).params(multiValueParamMap).headers(httpHeaders)).andExpect(MockMvcResultMatchers.status().isOk()).andReturn();mvcResult.getResponse().setCharacterEncoding("UTF-8");mvcResult.getResponse().setContentType("application/json;charset=UTF-8");String result = mvcResult.getResponse().getContentAsString();return MAPPER.readValue(result, JsonResult.class);}}

MockBaseTest.java

@RunWith(MockitoJUnitRunner.class)
@ActiveProfiles("dev")
@PowerMockIgnore("javax.management.*")
public class MockBaseTest extends BaseTest{}

示例:

public class CustControllerTest extends MockBaseTest {@InjectMocks //用于创建一个实例,调用真实的方法private CustController custController;@Mockprivate CustService custService;@Beforepublic void init(){this.prefix = "/api/cust";//MockitoAnnotations.initMocks(this);//初始化MVCthis.mockMvc = MockMvcBuilders.standaloneSetup(custController).build();}@Testpublic void testInfoList() throws Exception{CustInfo custInfo = new CustInfo();custInfo.setIdNo("4304221955xxxxxxxx");when(custService.findCustInfo(anyLong())).thenReturn(custInfo);//添加请求参数params.put("id","1");//发送post请求JsonResult jsonResult = postHttp("/info");String idNo = (List<Map>)((Map)jsonResult.get("info")).get("idNo");Assert.assertNotNull(idNo);Assert.assertEquals(custInfo.getIdNo(),idNo);}}

http://www.yayakq.cn/news/167863/

相关文章:

  • html5 微网站制作杂志 wordpress主题
  • 做自媒体需要关注什么网站支付网站建设
  • 山东禹城市建设局网站重庆免费微网站
  • 网站换ip影响 百度网站建设空格怎么打
  • jsp 响应式网站模板下载网站建设开发方式包括
  • 海口建设网站建设烟台规划网站
  • 做多语言网站教程网站排名是什么意思
  • 做膜的网站有哪些网页布局结构
  • 金华网站建设wordpress 釆集插件
  • 忻州专业网站建设厦门市建设局电工报名网站
  • 甘肃省住房和城乡建设局网站首页网络推广与营销
  • 网站建设信息模板下载网络挣钱
  • 绵阳汽车网站制作江阴建设局网站
  • 建设电商网站2024北京又开始核酸了吗今天
  • 网站建设在哪个会计科目核算资兴做网站公司
  • 网站建站服务公司电话wordpress 维基
  • 网站建设市场定位网站建设模型软件
  • 网站开发项目规划书搜索引擎营销sem
  • 自做网站告白如何弄网络销售公司产品推广方案
  • 设计网站推荐百度贴吧沈阳好的互联网设计
  • 建手机端网站wwr下载建设网站
  • 网页设计素材网站集公司有网站域名后如何建网站
  • 网站建设教程答允苏州久远网络财经app制作公司
  • seo如何建立优化网站网站建设课题简介
  • VIP视频网站有得做吗广州网站建设制作公司
  • 邯郸营销型网站做搞笑图片的网站
  • 做网站应该了解什么问题如何看网站做的好坏
  • 东莞网站建设属于什么专业一个人可以做几个网站
  • 北京网站建设公司排行如何做线上网站的网站
  • 网站开发技术有什么wordpress python导入