在eclipse中如何使用Junit??

2024-11-02 19:07:52
推荐回答(3个)
回答1:

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个测试被忽略,一个测试失败”

回答2:

网上下载一个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左边窗口会出现一个绿条,否则是红条。。。并有错误提示

回答3:

写一个要测试的类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会报告哪一行结果不正确:

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