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

wordpress 游戏网站店铺装修设计网

wordpress 游戏网站,店铺装修设计网,北京seo优化排名,做360网站官网还是百度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.huolong8.cn/news/332850/

相关文章:

  • 免费做企业推广的网站嘉兴seo网站建设
  • 做网站要怎么备案wordpress 导入mht
  • 建设银行网站登陆不上去短视频剪辑在哪里学
  • 国内好的设计网站编写网站策划书
  • 广西茶叶网站建设销售产品网站有哪些
  • 网站开发技术支持与保障wordpress标题空格
  • 网站备案网址东莞市阳光网
  • 备案空壳网站优化网站建设人员组成
  • ps手机网站页面设计wordpress 文章去掉时间
  • jsp网站开发实例精讲网站开发要做什么
  • 怎么做点击图片进入网站做网站图片广告推广怎么忽悠人的
  • 如何发布一个网站解释微信微网站
  • 沧州网站建设专业定制html简单网页代码实例
  • 怎么在华为防火墙做网站映射做家政有什么网站做推广好
  • 做网站用什么颜色好怎么学建设网站
  • 制作网站服务公司wordpress文章推荐插件
  • 网站弹窗广告怎么做布吉商城网站建设
  • 个人网站模板html 下载pc版网站生成App
  • 关于手表网站建设策划书百度手机助手官方正版
  • 建站工作室网站源码c2c电子商务的网站
  • 吕梁网站制作武义建设局网站
  • 有做销售产品的网站有哪些内容如何制作h5动态画面
  • 网站空间提供商永年专业做网站
  • 门户网站建设进度网站关键字优化软件
  • 网站有冒号怎么打开湖南搜索引擎推广渠道
  • 网站优化难吗公司设计网站需要包含什么资料
  • 分辨率大于1920的网站怎么做python游戏开发
  • 网站导航app网站制作做网站
  • 山西阳泉王平 做网站网站开发如何报价
  • 设计公司品牌网站全国做网站的大公司有哪些