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

外贸网站建设如何做呢/5g网络优化培训

外贸网站建设如何做呢,5g网络优化培训,重庆模板建站定制网站,wordpress外链缩略图为什么80%的码农都做不了架构师?>>> hamcrest断言提供了很多好用的断言表达式,参见http://0411.iteye.com/blog/1048303 我最感兴趣的是对集合中Bean属性的断言,相信这也是最具实用的断言,可见hamcrest偏偏在这方面做…

为什么80%的码农都做不了架构师?>>>   hot3.png

hamcrest断言提供了很多好用的断言表达式,参见http://0411.iteye.com/blog/1048303 

我最感兴趣的是对集合中Bean属性的断言,相信这也是最具实用的断言,可见hamcrest偏偏在这方面做得很弱啊,以下是我的一断测试代码: 

Java代码 

  1. @Test   

  2. public void testNotSeniorQuery() throws Exception {  

  3.     List<ParsedQueryParam> parsedQueryParams = queryParamParser.parse(request);  

  4.     assertThat(parsedQueryParams, notNullValue());  

  5.     assertThat(parsedQueryParams, hasSize(6));  

  6.     assertThat(parsedQueryParams,  

  7.                hasItem(hasProperty("aaa",is("a"))));  

  8. }  



  以上代码直接通不过编译,具体解决方法参见: 
https://weblogs.java.net/blog/johnsmart/archive/2008/04/on_the_subtle_u.html 
  也即,以上测试代码必须改成: 

Java代码 

  1. @Test   

  2. public void testNotSeniorQuery() throws Exception {  

  3.     List parsedQueryParams = queryParamParser.parse(request);//这儿直接用List  

  4.     assertThat(parsedQueryParams, notNullValue());  

  5.     assertThat(parsedQueryParams, hasSize(6));  

  6.     assertThat((List<Object>)parsedQueryParams,  //这儿将List cast 为List<Object>  

  7.                hasItem(hasProperty("aaa",is("a"))));  

  8. }  



   虽然这样可以通过编译了,但是我还有更多类似于以下的断言集合中Bean级联属性的需求: 
即ParsedQueryParam类包含了一个QueryParam,QueryParam中拥有paramName及paramValue属性,我希望hamcrest能够支持以下的代码: 

Java代码 

  1. @Test   

  2. public void testNotSeniorQuery() throws Exception {  

  3.     List parsedQueryParams = queryParamParser.parse(request);  

  4.     assertThat(parsedQueryParams, notNullValue());  

  5.     assertThat(parsedQueryParams, hasSize(6));  

  6.   

  7.     assertThat((List<Object>)parsedQueryParams,  

  8.             hasItem(hasProperty("queryParam.paramName",is("userId1"))));//失败,无法正确断言!!  

  9. }  



   可是这样无法成功运行,报如下错误: 

引用


java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V 
at org.hamcrest.core.IsCollectionContaining.matchesSafely(IsCollectionContaining.java:31) 
at org.hamcrest.core.IsCollectionContaining.matchesSafely(IsCollectionContaining.java:14) 
at org.hamcrest.TypeSafeDiagnosingMatcher.matches(TypeSafeDiagnosingMatcher.java:55) 
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:12) 
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8) 
at com.hsit.euler.eqengine.query.parser.impl.QueryParamParserImplTest.testNotSeniorQuery(QueryParamParserImplTest.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) 
at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:200) 
at org.unitils.UnitilsTestNG.run(UnitilsTestNG.java:103) 



   此路不通,我就试着换成如下方式: 

Java代码 

  1. @Test   

  2. public void testNotSeniorQuery() throws Exception {  

  3.     List parsedQueryParams = queryParamParser.parse(request);  

  4.     assertThat(parsedQueryParams, notNullValue());  

  5.     assertThat(parsedQueryParams, hasSize(6));  

  6.   

  7.     assertThat((List<Object>)parsedQueryParams,  

  8.             hasItem(hasProperty("queryParam",hasProperty("paramName"))));//这样可以成功断言!  

  9.   

  10. }  


   但是以上断言只是断言属性的存在性,如果我断言属性值,即又歇菜了! 

Java代码 

  1. @Test   

  2. public void testNotSeniorQuery() throws Exception {  

  3.     List parsedQueryParams = queryParamParser.parse(request);  

  4.     assertThat(parsedQueryParams, notNullValue());  

  5.     assertThat(parsedQueryParams, hasSize(6));  

  6.   

  7.     assertThat((List<Object>)parsedQueryParams,  

  8.             hasItem(hasProperty("queryParam",hasProperty("paramName",is("userId1")))));//NND 这样不行!  

  9.   

  10. }  



   一直想找一个可以很好对集合中Bean进行存在性断言或Bean属性值断言的框架,发现hamcrest很让人失望啊。不知列位有没有好的建议,非常感谢! 


转载于:https://my.oschina.net/stamen/blog/494445

http://www.lbrq.cn/news/834247.html

相关文章:

  • 网站运营模式有哪些/成都网站建设制作公司
  • 摄影网站建设内容/seo站内优化技巧
  • 网站开发实现顺序/百度优化seo
  • 广州网站建设推广公司哪家好/今日新闻网
  • 网站关键词怎么布局/网站免费下载安装
  • web网站测试/苏州百度推广分公司电话
  • wordpress会员网站/商务软文写作300
  • 团购汽车最便宜的网站建设/2021最新免费的推广引流软件
  • 备案网站资料上传教程/百度搜索量统计
  • 如何做移动支付网站/沈阳头条今日头条新闻最新消息
  • 网站能看出建设时间吗/微信小程序怎么制作自己的程序
  • windows.net做网站/今日热点新闻头条国内
  • 广州手机网站建设价格/semantic scholar
  • 找大学生做家教的网站/郑州seo网站关键词优化
  • 环境设计排版素材网站/最有效的线下推广方式
  • 网站设计抄袭/什么是互联网营销
  • 网站建设合同甲乙双方怎么确定/最快新闻资讯在哪看
  • 慈溪网站建设哪家好/湖南seo优化公司
  • python做软件的网站/海外营销推广服务
  • 阿里云有域名之后怎么建设网站/福州seo招聘
  • 购物网站的搜索框用代码怎么做/seo范畴有哪些
  • 网站建设设计 飞沐/中国培训网官网
  • 哪个网站可以免费做推广/线上推广费用
  • 网站安装步骤页面/网店怎么推广和宣传
  • 百度网站如何做运营/泉州网站关键词排名
  • 黄骅市在哪里/网站快速排名优化
  • 网站建设和建议/2022年新闻大事
  • 雄安建站服务/竞价如何屏蔽恶意点击
  • 公众号制作网页/百度爱采购关键词优化
  • wordpress上传后如何访问/合肥seo按天收费
  • STM32-CAN
  • JavaScript笔记
  • UDP 协议下一发一收通信程序的实现与解析
  • 【C语言进阶】内存函数
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题
  • JAVA面试宝典 -《Kafka 高吞吐量架构实战:原理解析与性能优化全攻略》