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

孝感专业做网站公司苏州电商网站建设

孝感专业做网站公司,苏州电商网站建设,wordpress美食模板,深圳建设营销型网站有时候#xff0c;当您正在对远程服务器进行HTTP调用的单元测试代码时。 您可能正在使用诸如ApachesHttpClient或Spring的RestTemplate之类的库。 当然#xff0c;您不想依靠远程服务进行单元测试。 除了涉及的开销#xff08;记住单元测试应该是快速的#xff09;之外当您正在对远程服务器进行HTTP调用的单元测试代码时。 您可能正在使用诸如ApachesHttpClient或Spring的RestTemplate之类的库。 当然您不想依靠远程服务进行单元测试。 除了涉及的开销记住单元测试应该是快速的之外您根本不能依赖于在执行测试期间可以使用的远程服务。 您可能还无法完全控制所有测试方案的响应。 考虑下面的简化示例。 ExampleHttpCall public class ExampleHttpCall {private String serviceUrl;public ExampleHttpCall(String url) {serviceUrl url;}public String doGet() {RestTemplate restTemplate new RestTemplate();ResponseEntityString responseEntity restTemplate.getForEntity(serviceUrl, String.class);String response responseEntity.getBody();return response;}} 您将如何为ExampleHttpCall编写单元测试 当然您可以以这样的方式重新设计类以使RestTemplate的实例被注入到类中 ExampleHttpCall备用版本 Component public class ExampleHttpCallAlternateVersion {Resourceprivate RestTemplate restTemplate;private String serviceUrl;public ExampleHttpCallAlternateVersion(String url) {serviceUrl url;}public String doGet() {ResponseEntityString responseEntity restTemplate.getForEntity(serviceUrl, String.class);String response responseEntity.getBody();return response;}} 现在可以嘲笑该依赖关系从而使您可以更好地控制。 然而由于附加的配置该方法还导致增加的复杂性。 此外您可能会遇到很多乏味的嘲笑。 对于这个简单的示例使用模拟可能是解决方法。 但这并非总是如此。 如果是这样另一种可能的方法是使用本地测试服务器。 碰巧的是Apache HttpClient项目在其测试工件中提供了LocalTestServer。 如果您使用的是Maven则可以通过添加以下依赖项将其包括在内 dependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion4.3.6/versionclassifiertests/classifierscopetest/scope /dependency 现在您可以在单元测试中设置服务器 LocalTestServer设置 private LocalTestServer server new LocalTestServer(null, null);Before public void setUp() throws Exception {server.start(); }After public void tearDown() throws Exception {server.stop(); } 当然仅启动和停止服务器并不能帮助您。 因此您还需要另一种成分。 您将要注册一个或多个实现org.apache.http.protocol.HttpRequestHandler接口的处理程序例如 注册您的处理程序 server.register(/foo/*, myHttpRequestHandler); HttpRequestHanlder接口将让您实现方法void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException; 该方法将使您完全控制HTTP响应。 因此对于我们的原始示例最小的单元测试可能类似于以下代码 基本单元测试 public class ExampleHttpCallTest {private ExampleHttpCall exampleHttpCall;private LocalTestServer server new LocalTestServer(null, null);private HttpRequestHandler myHttpRequestHandler new HttpRequestHandler() {Overridepublic void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException {response.setEntity(new StringEntity(foobar));}};Beforepublic void setUp() throws Exception {server.start();server.register(/foo/*, myHttpRequestHandler);String serverUrl http:/ server.getServiceAddress();exampleHttpCall new ExampleHttpCall(serverUrl /foo/bar);}Afterpublic void tearDown() throws Exception {server.stop();}Testpublic void test() {String result exampleHttpCall.doGet();assertEquals(foobar, result);}} 这就是开始所需要的全部。 从这里开始您可以通过为每种可能的情况添加测试用例来进行详细说明。 翻译自: https://www.javacodegeeks.com/2015/08/unit-testing-http-calls-with-localtestserver.html
http://www.yutouwan.com/news/365851/

相关文章:

  • 网站开发php和c语言区别ppt模板免费下载 素材学生版
  • 优秀定制网站建设案例盘锦网站开发公司
  • 北京工程质量建设协会网站电子商务主要学什么就业方向工资
  • 网站建设教程 零基础西青网站文化建设
  • 手机网站模板使用方法做电影网站的服务器需要多大
  • 儿童主题网站的内容建设专业的o2o网站建设
  • 修改wordpress主页标题百度推广seo
  • 雄安网站建设推广网络营销与直播电商怎么样
  • 如何建设网站效果好黄骅港怎么读
  • 域名和网站空间网站后台优化
  • 一诺千金 网站建设cps广告联盟
  • 注册网站地址网络营销与直播电商专业学什么就业方向是什么
  • 东营免费网站制作设计网站公司长沙
  • 企业3合1网站建设制作自己盈利的网站
  • 如何提升进入网站的速度大气红色网站
  • 做美篇发网站菠菜建设网站
  • 西安有一个电影他要拉投资做网站学网页设计制作
  • 网站主机与服务器宁津有培训做网站的
  • 微信借口的网站怎么做采购信息发布
  • 免费域名做网站线下广告宣传方式有哪些
  • 怎么选择网站建设公司网站登陆注册怎么做
  • 苏州怎么做网站排名优化安康免费做网站公司
  • 淞南网站建设做网站 用 云主机
  • 专业购物网站定制淮北矿业工程建设公司网站
  • 东莞清洁服务网站建设未来的软件开发方向是什么
  • 杭州微网站建设公司哪家好网站开发相关技术
  • 数据百度做网站好用吗济源市建设网站
  • 邯郸网站建设选哪家郑州第一附属医院不孕不育科
  • 好的策划方案网站做h5页面网站有哪些
  • 怎么做网站搜索引擎大良营销网站建设市场