我最近在我的Eclipse项目中添加了Google Guava作为库(我从http://code.google.com/p/guava-libraries/下载了'guava-16.0.jar'并将其作为外部jar库添加到我的Eclipse项目中)。
Eclipse似乎能够“看到”/使用该库(我已成功导入到com.google.common.collect等软件包中)。现在我想在我的一些JUnit测试中使用MoreAsserts类,但是当我输入导入时:
import com.google.common.testing.MoreAsserts;
Eclipse给出了一个红色标记,表示“无法解析导入com.google.common.testing”。它似乎根本没有看到包装。
[编辑:我认为这可能是因为MoreAsserts处于Beta版本(标记为@Beta),因此我可能不应该使用它]
答案 0 :(得分:11)
与此处的一些回复相反,com.google.common.testing
可供公众使用。它只是隐藏在Maven Central的一个单独的guava-testlib
工件中。
那就是说,你不会在那里找到MoreAsserts
。它几年前被删除了。 (您提供的源链接指向旧版本的番石榴。我很好奇您在哪里获得链接。)
表示,MoreAsserts
被删除的原因是它已被更全面的equals()
和hashCode()
测试人员取代:{{3} }。当前版本的EqualsTester
中<{1}} 。
这个类确实是guava-testlib
,但测试可能没问题。 (实际上,@Beta
不太可能发生重大变化。)
答案 1 :(得分:1)
测试包未在Guava版本中分发。我认为它适用于番石榴测试本身,而不是普通大众。
Javadocs中也没有提及。
答案 2 :(得分:-2)
如果您从链接下载了guava,则jar不包含
import com.google.common.testing
这就是你不能使用MoreAsserts类的原因。
如果您想知道jar中的哪些类,您可以:
1)打开文件,只是一个压缩文件。然后你可以看到jar里面的包(文件夹)和类
2)使用eclipse,在导入行中,您可以导航键入import com.
并等待一段时间(或按Ctrl +空格)
答案 3 :(得分:-2)
MoreAsserts
未包含在guava-16.0.jar中。如果您需要该类的功能,只需从他们的GIT存储库中复制该类 - 无论如何只有一个公共方法。