【问题标题】:How to create JUnit test cases for Guava's ArrayListMultiMap class in Eclipse?如何在 Eclipse 中为 Guava 的 ArrayListMultiMap 类创建 JUnit 测试用例?
【发布时间】:2013-10-20 15:08:05
【问题描述】:

我必须为 Guava 的 ArrayListMultimap 类创建一些 JUnit 测试用例,但到目前为止,我不知道应该如何进行。我已经成功地创建了一个普通的测试类,ArrayListMultimapTest(我用它来测试类的方法),我在其中添加了 Guava 的 15 发行版 JAR 文件作为外部库构建路径。但是我被特别要求为 ArrayListMultimap 创建 JUnit 测试用例,我不确定应该如何进行。任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 这里到底有什么问题?您不知道如何让 JUnit 了解该类并在 JUnit 中运行它吗?只需将 JUnit 也添加到构建路径中,然后查看 official documentation
  • 我是编程新手。顺便说一句,我遇到的问题是,当我尝试创建一个新的 JUnit 测试用例时,它要求我从一个项目中进行选择。 ArrayListMultimap,位于 com.google.common.collect。我应该创建一个包含所有这些文件和其他依赖项的新项目,还是有更好的方法?

标签: java eclipse junit guava


【解决方案1】:

虽然该库已广泛由 Google 测试,但如果您愿意,您可以自己轻松完成。

  1. 在 Eclipse 中右键单击您的项目
  2. 选择属性
  3. 选择 Java 构建路径
  4. 单击添加库...
  5. 选择 JUnit,选择 JUnit4,确认

现在您基本上完成了,您可以编写测试用例了 - 只需使用 @Test 注释来注释任何 public void someName() 方法。如果您的代码中没有 public static main(String... args) 方法,那么当您尝试运行该类时,Eclipse 会自动使用 JUnit 运行它。

@Test
public void multimapAcceptsMultipleEqualValuesForOneKey() {
    ListMultimap<String, String> listMultimap = ArrayListMultimap.create();
    listMultimap.put("aha", "eh");
    listMultimap.put("aha", "eh");
    Assert.assertEquals(2, listMultimap.get("aha").size());
}

之后,尝试深入研究 JUnit,了解它为您提供的所有优点。

【讨论】:

    【解决方案2】:

    已经有这样的测试了。不知道maven,但只是做

    git clone https://code.google.com/p/guava-libraries
    

    然后做所有你需要在 Eclipse 中运行的事情(这需要大量的 JAR,但是你使用 maven 来获取它们,将它们添加到构建路径中),打开文件并单击“run as junit test”。完成。

    __

    除非您怀疑某个特定问题,否则没有必要为 Guava 编写自己的测试,因为它经过大量测试和使用。无论如何,即使想写它,你也应该先看看现有的(它们有时有点难以理解,因为有一个完整的测试框架,这是彻底测试这么多类所必需的)。


    gitversion control systemdownload here 的免费。它使用命令行,但你需要知道的唯一一个写在上面。 maven 是一个难以理解的“软件项目管理和理解工具”,同样free to download 和使用。

    作为程序员,您将需要它们(或其他此类工具)。更重要的是,你需要utfg 很多。

    【讨论】:

    • 对不起,我对编程真的很陌生! (才 3 个月大)您能告诉我应该在哪里运行该命令,或者指向我的教程吗?
    • 当我 3 个月大时,我什么都没有。但说真的,添加了链接和UTFG,如果你找不到任何东西,请随时询问(在一个新问题中)。玩得开心。
    • 非常感谢@maartinus
    • “不知道 maven”? “maven 是一个难以理解的软件项目管理和理解工具”?出于好奇:还有什么选择?
    • @Sean Patrick Floyd:所以我们可以同意这是有史以来第二糟糕的事情,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多