寻找有关在Intellij IDEA 9.x中使用JUnit的教程

时间:2010-11-15 09:33:20

标签: java junit intellij-idea

我需要一个绝对的初学者指南,一起使用JUnit和Intellij IDEA 9.x.我在WinXP上运行JDK 1.6.0_22。我正在寻找以下问题的答案:

  1. 我是否需要安装JUnit或者它是否已集成到Intellij中?如果我需要设置它怎么样?
  2. 假设我有一个我想测试的类的接口和impl,我该如何设置一个JUnit项目?
  3. 有没有办法根据类接口自动生成测试骨架?
  4. 我有其他单元测试框架的经验,比如PHPUnit和Boost.Test,所以我主要关注在Intellij中设置和运行所有这些的机制。

    修改

    我使用Intellij是一个完整的新手。

    我来自命令行背景,即在Linux上使用vim和手写make文件的C ++ dev。

    我已经设法通过命令行编译并运行了一些JUnit测试(下载了JUnit 4.8.2并使用了-cp swith),但是我有一段时间在Intellij下设置任何东西。我试着查看online Intellij docs,但没有发现那些非常有用。我查看了Intellij的lib目录,它包含了Junit-4.7.jar。

    我真的需要某种快速入门指南,从初始项目创建到成功运行第一次单元测试,一步一步的说明。

3 个答案:

答案 0 :(得分:12)

  1. IDEA附带JUnit 支持,但请记住,您需要在项目上调用测试 - 因此您的项目需要在其类路径上安装JUnit。因此,您不需要“安装”JUnit,但您需要像使用任何其他第三方库一样使其JAR可用于您的项目(例如,将其引用为Maven依赖项或将JAR放入{{1 }})。
  2. 这是IDEA支持的开始 - 我99%肯定你不需要做任何特别的事情。由于使用JUnit通常只涉及使用lib/注释您的测试方法,因为this quick tutorial,IDEA不需要任何进一步的操作。对于在其至少一个方法上具有此注释的任何类,IDEA将为您提供将该类作为JUnit测试用例执行的选项。 (注意:此可能仅适用于项目结构中标记为“测试源”的目录中的文件,但我没有对此进行测试。最好将项目设置为无论如何这样。)
  3. 默认情况下不是JUnit支持的一部分。还有其他插件可以做到这一点,但在我个人看来,这并不像听起来那么有用。 IDEA 确实集成了代码覆盖率(完整版),(再次恕我直言)是确保您的测试用例涵盖您的类/接口的全部功能的更好方法。

答案 1 :(得分:7)

对于名为Foo的类:

public class Foo
{
   public static int add(int x, int y) { return x+y; }
}

写一个像这样的JUnit测试:

public class FooTest:
{
    @Test
    public void testAdd()
    {
        int expected = 5;
        int actual = Foo.add(2, 3);
        Assert.assertEquals(expected, actual);
    }
}

我在IntelliJ项目中创建/ src和/ test文件夹,并镜像每个文件夹下的包结构。

您可以通过右键单击/ test文件夹并选择“运行所有测试”来让IntelliJ运行项目中的所有测试。

如果您在“所有测试”任务中编辑配置,您将看到一个复选框,要求IntelliJ为您检查代码覆盖率。它会在每次测试运行后刷新值。

答案 2 :(得分:3)

  1. 我想您需要下载junit库jar并将其添加到项目的模块设置中,您可以按Shift + Ctrl + Alt + S

  2. 在模块设置中,您需要选择测试文件夹。选择测试文件夹,然后单击顶部的测试源按钮 要为相应的班级创建测试,请按Shift + Ctrl + T。

  3. 我不认为您可能需要创建任何实时模板。按Ctrl + Alt + S并转到实时模板,然后创建一个查看其他模板的示例。