当前位置: 代码迷 >> Eclipse >> 在Myeclipse上运行JUnit & ant
  详细解决方案

在Myeclipse上运行JUnit & ant

热度:675   发布时间:2016-04-23 12:03:09.0
在Myeclipse下运行JUnit & ant

在Myeclipse下运行JUnit

?

?? JUnit测试框架是由Erich Gamma和Kent Beck编写的一个回归测试框架。junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么样的功能。JUnit是一套框架,它继承TestCase类,可以用JUnit进行自动测试。

?

?? MyEclipse集成环境下的junit单元测试具有以下5点优势:

  1. 可使测试代码与产品分离;
  2. 针对某一个类的测试代码只通过较少的更改便可以应用于另一个类;
  3. 易于集成到测试人员的构建过程中,JUnit测试框架和Ant编译工具的结合可以实施增量开发;
  4. JUnit源代码是公开的,可进行二次开发;
  5. 可方便地对JUnit进行扩展。

?

1. 加入JUnit相关jar包。

选中项目,右键——>build path——>config bulid path——>Add Library——>JUnit——>Next——>JUnit 4

?

?

2. 新建测试用例,类名一般以方法名+Test命名,如LoginTest

New——>JUnit Test Case——>Class under test填写要测试的方法所在类的路径——>Next——>选择要测试的方法——>finish

?

另一种方法,在package Explore中找到要测试的类中的方法并选中,右键new,后面方法与前面相同,只是不需要写测试方法所在类的路径

?

可以有多个测试方法,必须以test+方法名命名,如testLogin

多个测试方法时,运行的时候,依次运行,若想只运行其中一个,可以在package Explore找到该类中的方法,右键run as——>Junit Test。

?

JUnit 4一般来说可以不用继承TestCase类,但如果使用Junit suite是则需要,因为suite里函数addTestSuite(param),参数需要继承TestCase类。

?

public class LoginTest extends TestCase{	/**	 * @throws java.lang.Exception	 * 静态方法,在测试类执的测试方法执行前被系统调用,只被调用一次	 */	@BeforeClass	public static void setUpBeforeClass() throws Exception {		System.out.println("in setUpBeforeClass()");	}	/**	 * @throws java.lang.Exception	 * 静态方法,在测试类的所有测试方法执行完毕后被系统调用,只被调用一次	 */	@AfterClass	public static void tearDownAfterClass() throws Exception {		System.out.println("in tearDownAfterClass()");	}	/**	 * @throws java.lang.Exception	 * 非静态方法,在每个测试方法执行前,被系统调用,有多少个测试方法,就被调用多少次	 */	@Before	public void setUp() throws Exception {		System.out.println("int setUp()");	}	/**	 * @throws java.lang.Exception	 * 非静态方法,在每个测试方法执行完毕后,被系统调用,有多少个测试方法,就被调用多少次	 */	@After	public void tearDown() throws Exception {		System.out.println("int tearDown()");	}	/**	 * Test method for {@link com.sun.struts2.action.LoginAction#login()}.	 * @throws Exception 	 */	@Test(timeout=100)//ms	public void testLogin2() throws Exception {		System.out.println("int testLogin()");		//fail("Not yet implemented");		LoginAction login = new LoginAction();		login.setUserName("test");		login.setPassword("234");		String result = login.login();		assertTrue("Expected a success result!",ActionSupport.SUCCESS.endsWith(result));		//final String msg = "Hello,World!";		//assertTrue("Expected the default message!",msg.equals(login.getUserName()));	}
?

?

3. 新建Junite Suite

New——>JUnit Test Suite——>输入类名——>finish

当项目很复杂,测试用例很多的时候,采用Suite可以自动运行多个测试用例,比较方便。

?

public class AllTests {	public static Test suite() {		TestSuite suite = new TestSuite("Test for com.sun.struts2.junit");		//$JUnit-BEGIN$		//调用对象的方法进行自动测试,加入你想要测试的测试类		  //注:该方法的参数需要是继承TestCase的类		suite.addTestSuite(LoginTest.class);		suite.addTestSuite(SetAgeTest.class);		  //$JUnit-END$		  		//$JUnit-END$		return suite;	}}
?

?

?? Ant编译工具是一种基于Java的build工具,是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译、测试、打包、部署等一系列任务,极大提高了开发效率。从理论上说,Ant编译工具有些类似于(Unix)C语言中的make命令,但没有make命令的缺陷。与基于shell命令的扩展模式相比不同的是,Ant编译工具用Java的类来扩展。用户不必编写shell命令,配置文件是基于XML的,因此通过调用target树,就可执行各种任务。每个任务由一个实现了特定Task接口的对象来运行。MyEclipse已经将Ant编译工具集成,通过Ant编译工具可以将JUnit测试的执行结果生成测试报告。

?

1. 安装ant,配置ant home。?

一般来说myeclipse已经集成了ant插件,所以不需要安装和配置,默认存储位置E:\Program Files\MyEclipse 8.5\Common\plugins。如要安装的话,安装方法?

如需配置路径,方法:Window——>Preferences——>Ant——>Runtime——>Ant Home Entries——>Ant Home——>选择ant的安装路径——>Apply

?

2. 创建项目,并建立build.xml,放在src文件夹下,如何自动生成build.xml?

?

3. 右键项目——>Properties——>Builders——>New——>Ant Builder——>OK

?

填写builder名字,builderfile——>Browse WorkSpace——>选择项目下的build.xml

?

待续。。。。。。。。。。。。

?

参考:http://hi.baidu.com/zhfbaba/blog/item/376b9d94ef06d952d1135edc.html

http://www.iteye.com/problems/3551

http://mazhiyang88.blog.163.com/blog/static/297339320110104843857/

?

  相关解决方案