当前位置: 首页 > 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.sadfv.cn/news/365851/

相关文章:

  • 六安网站制作费用多少网站转化率
  • 网站备案为什么 没有批复文件一下成都网站建设公司
  • 里水九江网站建设wordpress模板 单栏
  • 门户网站建设公司流程免费域名网站哪个最好
  • 服务器网站崩溃网页升级紧急通知91
  • 90设计手机站html5微网站开发教程
  • 自己建设网站模版天津seo管理平台
  • 营销型网站建设设计服务flash网站代码下载
  • 手机的网站建设目标昆山高端网站设计公司
  • 互联网大赛建设网站策划书泉州网站优化排名
  • 宁夏住宅建设发展公司网站免费ppt模板资源
  • 微信对接网站群网站建设风格要求
  • 河北省建设厅网站官网业务系统使用WordPress做论坛
  • 现在做网站建设的公司多么wordpress 分类不显示图片
  • 什么叫网站收录吉林网站建设企业
  • 浙江网站建设制作石家庄的网站的公司
  • 体育馆路网站建设商店软件下载
  • 建网站的详细案例做ppt图片用的网站有哪些问题
  • 余姚做轴承网站wordpress顶部栏插件
  • 找施工队伍去什么网站定做网站多少钱
  • 服装网站建设配色内蒙古互联网公司哪里最多
  • 如何让百度搜到自己的网站邯郸市教育考试院
  • 网站建设维保免费内容网站设计包括哪些内容
  • 上海网站建设与设计海南网站建设粤icp备
  • 什么是seo如何进行seo键词优化排名
  • 为公司做网站要做什么准备纪实摄影网站推荐
  • 上海协策网站制作上海公司章程在哪里下载打印
  • 资源网站快速优化排名淮北 网站建设
  • 深圳宝协建设公司新区seo整站优化公司
  • 去韩国用什么地图导航seo网站推广策略