assertThat用法疑问?

我安装了junit4.8.1版本并导入了hamcrest-library-1.3.0RC2.jar,hamcrest-core-1.3.0RC2.jar我程序开头引用im... 我安装了junit4.8.1版本 并导入了hamcrest-library-1.3.0RC2.jar,hamcrest-core-1.3.0RC2.jar我程序开头引用import org.hamcrest.Matcher;import static org.junit.Assert.*;@Test public void SpringAllTest(){ //测试spring数据库连接池 String actualUsername = basicDataSource.getUsername(); //assertEquals("devloper",actualUsername); //测试能通过,但我改成下句形式 assertThat( "devloper", equalTo( actualUsername ) ); //就不能测试通过}//由于上面的测试程序提示,不识别equalTo方法,于是根据下面就自动创建一个private Matcher equalTo(String actualUsername) { // TODO Auto-generated method stub return null;}运行出现错误提示:java.lang.NullPointerExceptionat org.junit.Assert.assertThat(Assert.java:770)at org.junit.Assert.assertThat(Assert.java:736)我不明白为什么assertThat()不能识别equalTo,为什么assertEquals运行测试正确,而assertThat()提示空指针错误assertThat(3,is(1 2)); 这个也不能运行通过private Matcher is(int i) { // TODO Auto-generated method stub return null; }是测试环境没有配置好吗?<a apporig="59250" target="_blank" onclick="javascript:return redirectWrapped(this);" class="thirdAppLink" href="http://www.004.la/forum.php?mod=redirect 展开
 我来答
crownliu1
2012-11-23
知道答主
回答量:14
采纳率:0%
帮助的人:2.2万
展开全部
好大一坨啊!但是硬着头皮看完了
首先你导入的包错了,你想用hamcrest的匹配方法(equalTo()、is()),得引入的是org.hamcrest.Matchers
应该静态导入这个类的静态方法,之后你就可以直接调用方法,不用管类名了。
这个类是在hamcrest-library.jar里的
我感觉最好是引入junit-dep.4.*.jar(该包是纯JUnit包,不包含hamcrest-core.jar)+hamcrest-library.jar+hamcrest-core.jar
day申诉
2012-11-05 · 超过22用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:56.1万
展开全部
d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式