首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找关于在Intellij 9.x中使用JUnit的教程

寻找关于在Intellij 9.x中使用JUnit的教程
EN

Stack Overflow用户
提问于 2010-11-15 09:33:20
回答 3查看 18.3K关注 0票数 17

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

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

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

编辑

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

我来自一个命令行背景,即在Linux上使用vim和手写make的C++开发。

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

我确实需要某种快速启动指南,从初始项目创建到成功运行第一个单元测试,逐步进行指导。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-15 09:43:51

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

Stack Overflow用户

发布于 2010-11-15 10:40:50

对于一个名为Foo的类:

代码语言:javascript
复制
public class Foo
{
   public static int add(int x, int y) { return x+y; }
}

编写如下JUnit测试:

代码语言:javascript
复制
public class FooTest:
{
    @Test
    public void testAdd()
    {
        int expected = 5;
        int actual = Foo.add(2, 3);
        Assert.assertEquals(expected, actual);
    }
}

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

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

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

票数 7
EN

Stack Overflow用户

发布于 2010-11-15 09:41:30

  1. 我想您需要下载junit库jar并将其添加到您的项目的模块设置中,您可以按下Shift+Ctrl+Alt+S。
  2. 在模块设置本身中,需要选择测试文件夹。选择测试文件夹并单击顶部的“测试源”按钮,为相应的类创建一个测试,然后按Shift+Ctrl+T。
  3. 我认为没有任何活的模板,你可能需要创建它。按Ctrl+Alt+S并进入活动模板,创建一个查看其他模板的示例。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4183021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档