查找有关将 JUnit 与 Intellij IDEA 9.x 配合使用的教程 [已关闭]

2022-09-03 01:26:17

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

  1. 我需要安装 JUnit 还是已经集成到 Intellij 中?如果我需要如何设置?
  2. 假设我有要测试的类的接口和 impl,那么如何设置 JUnit 项目?
  3. 有没有办法基于类接口自动生成测试框架?

我有其他单元测试框架的经验,比如PHPUnit和Boost.Test,所以我主要关心在Intellij中设置和运行所有这些的机制。

编辑

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

我来自命令行背景,即C++在Linux上使用vim和手写制作文件的开发人员。

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

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


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

答案 2

对于名为 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 文件夹,并镜像每个文件夹下的包结构。

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

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


推荐