代码之家  ›  专栏  ›  技术社区  ›  Robert S. Barnes Antoni

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

  •  16
  • Robert S. Barnes Antoni  · 技术社区  · 14 年前

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

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

    我有其他单元测试框架的经验,比如phpunit和boost.test,所以我主要关注在intellij中建立和运行所有这些框架的机制。

    编辑

    我是一个使用intellij的新手。

    我来自一个命令行背景,即使用VIM和Linux上的手写文件的C++ DeV。

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

    从最初的项目创建到成功运行第一个单元测试,我真的需要一些快速入门指南和逐步说明。

    3 回复  |  直到 9 年前
        1
  •  12
  •   Andrzej Doyle    14 年前
    1. Junit有主意 支持 但是请记住,您需要在项目上调用测试,因此您的项目需要在其类路径上有JUnit。因此,您不需要“安装”JUnit,但您需要使其jar可用于您的项目,就像您与任何其他第三方库(例如,将其作为maven依赖项引用或将jar放入 lib/ )
    2. 这就是支持想法的地方——我99%确信你不需要做任何特别的事情。因为通常使用JUnit只需要用 @org.junit.Test ,按 this quick tutorial ,这个想法不需要更多的东西。对于在至少一个方法上具有此注释的任何类,IDEA将为您提供将该类作为JUnit测试用例执行的选项。(注:此 可以 只适用于项目结构中标记为“测试源”的目录中的文件,但我没有测试过。无论如何,像这样设置项目是个好主意。)
    3. 默认情况下不作为JUnit支持的一部分。有其他插件可以做到这一点,但在我个人看来,这并不像听起来那样有用。想法 集成了代码覆盖率(完整版),这(也是imho)是确保测试用例覆盖类/接口的完整功能的更好方法。
        2
  •  7
  •   duffymo    14 年前

    对于名为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为您检查代码覆盖率。它将在每次测试运行后刷新值。

        3
  •  3
  •   vinothkr    14 年前
    1. 我猜你需要下载junit库jar并将其添加到你的项目的模块设置中,你可以按shift+ctrl+alt+s键。

    2. 在模块设置本身中,您需要选择测试文件夹。选择测试文件夹并单击顶部的测试源按钮 要为相应的类创建测试,请按shift+ctrl+t。

    3. 我不认为有任何现场模板,你可能需要创建它。按ctrl+alt+s并转到活动模板,然后创建一个模板,查看其他模板中的示例。