我需要一个绝对的初学者指南来一起使用JUnit和Intellij IDEA 9.x. 我在WinXP上运行JDK 1.6.0_22.我正在寻找以下问题的答案:
我需要安装JUnit还是已经集成到Intellij中?如果我需要设置它怎么样?
假设我有一个我想测试的类的接口和impl,我该如何设置一个JUnit项目?
有没有办法根据类接口自动生成测试骨架?
我有其他单元测试框架的经验,如PHPUnit和Boost.Test,所以我主要关注在Intellij中设置和运行所有这些的机制.
编辑
我是一个使用Intellij的完整新手.
我来自命令行背景,即在Linux上使用vim和手写make文件的C++ dev.
我已经设法通过命令行编译并运行一些JUnit测试(下载了JUnit 4.8.2并使用了-cp swith),但我有一点时间在Intellij下设置任何东西.我试着查看在线Intellij文档,但没有发现那些非常有用.我查看了Intellij的lib目录,它包含了Junit-4.7.jar.
我真的需要某种快速入门指南,从初始项目创建到成功运行第一个单元测试,一步一步的指示.
IDEA附带JUnit 支持,但请记住,您需要在项目上调用测试 - 因此您的项目需要在其类路径上使用JUnit.因此,您不需要"安装"JUnit,但是您需要像使用任何其他第三方库一样使其JAR可用于您的项目(例如,将其引用为Maven依赖项或删除JAR lib/
).
这就是IDEA支持的开始 - 我99%肯定你不需要做任何特别的事情.由于使用JUnit通常只涉及注释您的测试方法@org.junit.Test
,根据本快速教程,IDEA不需要任何进一步的操作.对于在其至少一个方法上具有此注释的任何类,IDEA将为您提供将该类作为JUnit测试用例执行的选项.(注意:这可能只是项目结构中标记为"测试源"的目录中的文件的情况,但我没有对此进行测试.无论如何,设置项目是个好主意.)
默认情况下不作为JUnit支持的一部分.还有其他插件可以做到这一点,但在我个人看来,这并不像听起来那么有用.IDEA 确实具有集成的代码覆盖率(完整版),(再次恕我直言)是确保您的测试用例涵盖您的类/接口的全部功能的更好方法.
对于名为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文件夹并选择"Run all tests"来运行项目中的所有测试.
如果您在"所有测试"任务中编辑配置,您将看到一个复选框,要求IntelliJ为您检查代码覆盖率.它会在每次测试运行后刷新值.