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

锦州市网站建设_网站建设公司_自助建站_seo优化

阿里巴巴做网站营销有没有用,房产网络平台,网站 扩展,天津室内设计公司排行dubbo单元测试调用有时候#xff0c;您正在对远程服务器进行HTTP调用的单元测试代码。 您可能正在使用诸如ApachesHttpClient或Spring的RestTemplate之类的库。 当然#xff0c;您不想依靠远程服务进行单元测试。 除了涉及的开销#xff08;请记住单元测试应该是快速的您正在对远程服务器进行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.htmldubbo单元测试调用
http://www.lebaoying.cn/news/112413.html

相关文章:

  • 网站建设淘宝走流程360官网入口
  • 青岛专业网站建设公司室内设计联盟邀请码免费
  • 案例展示网站需求网站
  • 章丘建设局网站seo建站网络公司
  • 网站开发和报价方案餐饮品牌设计网站建设
  • 登录网站定制上海装修公司排名榜十大品牌
  • win7自己电脑做网站外国网站免费空间申请
  • 最简单的做网站的软件怎么查网站注册信息
  • 韩国建设部网站wordpress中文杂志主题
  • 怎么策划一个网站编程自己做网站
  • 网站建设技术风险分析做外贸最好的网站
  • 企业微商城网站建设云南建设工程信息网站
  • 营销网站建设推广wordpress换域名后图片无法显示
  • 好的网站建设技术浙江网站建设哪家权威
  • 上海外贸网站推广哪家好wordpress首页访问密码
  • 制作网站需要wordpress网站源码生成
  • node网站开发需要学什么网站设计网页配色
  • 四川建设网官方网站今天广西紧急通知最新
  • 贵阳市网站建设广州免费核酸检测地点查询
  • 游览有关小城镇建设的网站济南网站制作*推搜点
  • 南昌手机建站模板龙岗高端建设网站建设
  • 网站建设找天宇智能o2o商城网站建设方案
  • 江苏省备案网站wordpress链接检查
  • 建网站费用记账天津网站设计建设
  • 福田商城网站建设waP六感程序建设网站
  • 做网站平台免费推广工具
  • 企业网站托管备案农业网站建设源代码 ASP
  • 360免费建站李梦网站制作公司深圳
  • html5网站是用什么软件做的吗辽宁工程建设信息网站
  • 深圳公司网站设计网站图片 原则