在eclipse中如何使用Junit??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在eclipse中如何使用Junit??相关的知识,希望对你有一定的参考价值。

我想得到尽可能详细的答案,包括怎样配置Junit,如何在eclipse中使用等等。我eclipse、JDK都配置好了。

eclipse中使用junit的方式如下:

1.首先新建一个项目叫JUnit_Test,编写一个Calculator类,能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。该类代码如下:

  package andycpp;

  public class Calculator ...

  private static int result; // 静态变量,用于存储运行结果

  public void add(int n) ...

  result = result + n;

  public void substract(int n) ...

  result = result - 1; //Bug: 正确的应该是 result =result-n

  public void multiply(int n) ...

  // 此方法尚未写好

  public void divide(int n) ...

  result = result / n;

  public void square(int n) ...

  result = n * n;

  public void squareRoot(int n) ...

  for (; ;) ; //Bug : 死循环

  public void clear() ... // 将结果清零

  result = 0;

  public int getResult() ...

  return result;

2.将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,如图:

  在弹出的属性窗口中,首先在左边选择“JavaBuildPath”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,如下图所示:

  然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进这个项目。

3.生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择“NewàJUnit Test Case”。如下图所示:

  在弹出的对话框中,进行相应的选择,如下图所示:

  点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,仅对“加、减、乘、除”四个方法进行测试

  package andycpp;

  import static org.junit.Assert.*;

  import org.junit.Before;

  import org.junit.Ignore;

  import org.junit.Test;

  public class CalculatorTest ...

  private static Calculator calculator = new Calculator();

  @Before

  public void setUp() throws Exception ...

  calculator.clear();

  @Test

  public void testAdd() ...

  calculator.add(2);

  calculator.add(3);

  assertEquals(5, calculator.getResult());

  @Test

  public void testSubstract() ...

  calculator.add(10);

  calculator.substract(2);

  assertEquals(8, calculator.getResult());

  @Ignore("Multiply() Not yet implemented")

  @Test

  public void testMultiply() ...

  @Test

  public void testDivide() ...

  calculator.add(8);

  calculator.divide(2);

  assertEquals(4, calculator.getResult());

4.运行测试代码:按照上述代码修改完毕后,在CalculatorTest类上点右键,选择“Run As àJUnitTest”来运行我们的测试,如下图所示:

  运行结果如下:

  进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表示“共进行了4个测试,其中1个测试被忽略,一个测试失败”

参考技术A 网上下载一个JUnit包,后缀名为 jar . 打开eclipse ,新建项目,项目建好后在项目名称上单击鼠标右键,选择build path-->Config build path ,在properties for....窗口中左边选择Java Build Path 右边选择Libraries, 再点击Add External Jars 。找到你下载的那个JUnit包,点击打开,然后点击OK,就行了。。然后新建一个类,在开头加入 import org.junit.*;具体使用如下:
import org.junit.*;
public class Test
@Test public void test()
Assert.assertEquals(result,fun);//判断结果是否相等,result是你认为fun的运行结果,fun是你所要测试的那个方法
Assert.assertTrue (条件)//判断条件是否为真


如果测试正确,eclipse左边窗口会出现一个绿条,否则是红条。。。并有错误提示本回答被提问者和网友采纳
参考技术B 写一个要测试的类Simple如下:
package jexi.test;
public class Simple
private int n;
public Simple(int n)
this.n = n;

// 返回绝对值:
public int foo()
return n>0 ? n : (-n);


foo()方法返回绝对值,下一步,我们准备用JUnit对这个foo()方法进行全面测试。
首先,在eclipse中,创建一个java工程,把pluginsorg.junit_3.8.1junit.jar包含进去:

然后写好Simple.java,为它创建一个JUnit Test Case:

在弹出的对话框中填入测试类的名字:SimpleTest,勾上setUp():

编写测试代码:
package jexi.test;
import junit.framework.TestCase;

public class SimpleTest extends TestCase
private Simple s1, s2;

protected void setUp() throws Exception
super.setUp();
s1 = new Simple(10);
s2 = new Simple(-7);


public void testFoo()
assertTrue(s1.foo()==10);
assertTrue(s2.foo()==7);


其中setUp()方法是构造初始化环境,我们在setUp中创建两个Simple的实例,testFoo()是用来测试foo()的测试方法,总是以test 方法名构成,然后在测试方法中测试:s1.foo()==10,如果返回值与期待的结果10相等,assertTrue()就执行成功,我们现在可以运行Run->Run As...->JUnit Test,左侧会显示测试结果:

如果我们把Simple的foo()方法改成:
public int foo()
return n;

再次运行JUnit Test,现在assertTrue(s2.foo()==7);测试结果就不正确了,JUnit会报告哪一行结果不正确:

双击就可以快速定位到测试失败的方法调用上。

如何在没有 Maven 的情况下同时运行 Eclipse Java 项目的所有 JUnit 测试?

【中文标题】如何在没有 Maven 的情况下同时运行 Eclipse Java 项目的所有 JUnit 测试?【英文标题】:How to simultaneously run all JUnit tests for a Eclipse Java project without Maven? 【发布时间】:2011-08-11 04:52:58 【问题描述】:

我在 Eclipse 中有一个小型 Java 项目。我对项目中的每个类都有一个 JUnit 测试类。我使用的是 JUnit 4,这不是一个 maven 项目。

有没有简单的方法告诉 Eclipse 一次运行所有测试类中的所有测试?

【问题讨论】:

【参考方案1】:

右键单击源文件夹,然后单击Run As… > JUnit Test

【讨论】:

您还可以创建一个父单元测试套件并在其中列出您的所有测试/套件。 有没有一种简单的方法可以为其制作键盘快捷键? 当我在test 下有多个包时,这不起作用。它只在test 包中直接运行那些,而不是其余的 @Anton Shift-Alt-X T 在 Eclipse Mars 中,但你可以自己做。此外,还会创建一个配置,您可以从“运行”菜单历史记录 (Alt-R T) 中使用它。 F11 也运行调试会话...您打开的当前 .java 类,或者您使用的最后一个配置。 ctrl+F11 运行,ctrl+shift+F11 运行代码覆盖率。【参考方案2】:

选择包含所有测试类的源目录,右击,选择“Run as...”,然后选择JUnit test。

【讨论】:

以上是关于在eclipse中如何使用Junit??的主要内容,如果未能解决你的问题,请参考以下文章

如何使用eclipse进行junit测试

当依赖于 EBean 增强模型时,如何在 Eclipse 中运行 JUNIT?

如何在没有 Maven 的情况下同时运行 Eclipse Java 项目的所有 JUnit 测试?

如何设置 Groovy + Eclipse + Junit4?

如何分析java,eclipse,junit中哪个方法消耗的时间更多? [复制]

如何在Eclipse中自动生成接口和JUnit测试类