无法在Eclipse中导入Guava的MoreAsserts

时间:2014-01-28 16:18:44

标签: guava

我最近在我的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),因此我可能不应该使用它]

4 个答案:

答案 0 :(得分:11)

与此处的一些回复相反,com.google.common.testing可供公众使用。它只是隐藏在Maven Central的一个单独的guava-testlib工件中。

那就是说,你不会在那里找到MoreAsserts。它几年前被删除了。 (您提供的源链接指向旧版本的番石榴。我很好奇您在哪里获得链接。)

表示,MoreAsserts被删除的原因是它已被更全面的equals()hashCode()测试人员取代:{{3} }。当前版本的EqualsTester中<{1}}

这个类确实是guava-testlib,但测试可能没问题。 (实际上,@Beta不太可能发生重大变化。)

  

EqualsTester

答案 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存储库中复制该类 - 无论如何只有一个公共方法。