how to fix "org.hamcrest.CoreMatchers.containsString cannot be resolved"

[b]背景:[/b]
山姆大叔比较喜欢用一些新的技术和新的特性,最近在junit test的代码中,用到了containsString(String subString) 方法。
这个方法主要是用来创建一个包含了subString字符串的Matcher,通常的用法是:
assertThat("myStringOfNote", containsString("ring"));
即:assert一个信息,如果containsString 返回的Matcher中包含于“myStringOfNote”字符串中, 那么这个就不会抛异常;否则就会抛出类似:
 java.lang.AssertionError: 
Expected: (a string containing "color" or a string containing "colour")
got: "Please choose a font"

具体到这个assert的用法可以更多地去看官网的例子。
我这里是要说的是:同样的代码,我直接get latest revision 到我本地的时候,别人的可以跑,但是在我自己这里就不能编译,出现方法找不到的错误:
The import org.hamcrest.CoreMatchers.containsString cannot be resolved


[b]解决方案:[/b]
我找到了同事的代码,对比看了,都是一样的。 刚开始以为是jdk版本不一致导致的问题。
方案1: 于是就改成了我同事一样版本的jdk,还是不能解决。
方案2: 去找到相应的jar,于是我找到hamcrest-all-1.3.jar,也都是有的。但是在我搜索hamcrest的时候,我的同事的jar包依赖来有一个:hamrest-core:1.3 的jar。如下:

[img]http://dl2.iteye.com/upload/attachment/0111/9397/4a6334e0-bc50-37df-b146-48d29353aa0f.png[/img]
而我的pom依赖树里没有这个jar,我很苦恼,为什么会出现这样的情况,而是我把本地repository的junit-4.11.jar删除掉,然后重新从服务器上拿到这个jar,这一次果然能拿到hamrest-core的依赖的。成功解决这个问题。

:idea:

----EOF----
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值