在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??的主要内容,如果未能解决你的问题,请参考以下文章
当依赖于 EBean 增强模型时,如何在 Eclipse 中运行 JUNIT?
如何在没有 Maven 的情况下同时运行 Eclipse Java 项目的所有 JUnit 测试?
如何设置 Groovy + Eclipse + Junit4?