要调试Java程式也很简单,Run菜单里包含了标准的调试命令,能够很方便地在IDE环境下调试应用程式。
1.4版本支持:
选择菜单"Window","Preferences",在对话框中找到"Java","Compiler","Compliance and Classfiles",将编译选项改成1.4,就能够使用JDK1.4版的assert(断言)语法,使得测试更加方便:

4. 在Eclipse中使用JUnit
测试对于确保软件研发质量有着很重要的作用,单元测试更是必不可少,JUnit是个很强大的单元测试包,能够对一个/多个类的单个/多个方法测试,还能够将不同的TestCase组合成TestSuit,使测试任务自动化。Eclipse同样整合了JUnit,能够很方便地编写TestCase。
我们创建一个Java工程,添加一个example.Hello类,首先我们给Hello类添加一个abs()方法,作用是返回绝对值:
下一步,我们准备对这个方法进行测试,确保功能正常。选中Hello.java,右键点击,选择New->JUnit Test Case:

Eclipse会询问是否添加junit.jar包,确定后新建一个HelloTest类,用来测试Hello类。

选中setUp()和tearDown(),然后点击"Next":

选择要测试的方法,我们选中abs(int)方法,完成后在HelloTest.java中输入:

JUnit会以以下顺序执行测试:(大致的代码)
try {
HelloTest test = new HelloTest(); // 建立测试类实例
test.setUp(); // 初始化测试环境
test.testAbs(); // 测试某个方法
test.tearDown(); // 清理资源
}
catch...
setUp()是建立测试环境,这里创建一个Hello类的实例;tearDown()用于清理资源,如释放打开的文档等等。以test开头的方法被认为是测试方法,JUnit会依次执行testXxx()方法。在testAbs()方法中,我们对abs()的测试分别选择正数,负数和0,假如方法返回值和期待结果相同,则assertEquals不会产生异常。
假如有多个testXxx方法,JUnit会创建多个XxxTest实例,每次运行一个testXxx方法,setUp()和tearDown()会在testXxx前后被调用,因此,不要在一个testA()中依赖testB()。
直接运行Run->Run As->JUnit Test,就能够看到JUnit测试结果:

绿色表示测试通过,只要有1个测试未通过,就会显示红色并列出未通过测试的方法。能够试图改变abs()的代码,故意返回错误的结果(比如return n 1;),然后再运行JUnit就会报告错误。
假如没有JUnit面板,选择Window->Show View->Other,打开JUnit的View:

JUnit通过单元测试,能在研发阶段就找出许多Bug,并且,多个Test Case能够组合成Test Suite,让整个测试自动完成,尤其适合于XP方法。每增加一个小的新功能或对代码进行了小的修改,就立即运行一遍Test Suite,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护性,避免代码逐渐"腐烂"。
5. 在Eclipse中使用Ant
Ant是Java平台下很棒的批处理命令执行程式,能很方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高研发效率。假如您现在还没有开始使用Ant,那就要赶快开始学习使用,使自己的研发水平上一个新台阶。
Eclipse中已整合了Ant,我们能够直接在Eclipse中运行Ant。
以前面建立的Hello工程为例,创建以下目录结构:
新建一个build.xml,放在工程根目录下。build.xml定义了Ant要执行的批处理命令。虽然Ant也能够使用其他文档名,但是遵循标准能更使研发更规范,同时易于和别人交流。
通常,src存放Java源文档,classes存放编译后的class文档,lib存放编译和运行用到的任何jar文档,web存放JSP等web文档,dist存放打包后的jar文档,doc存放API文档。
然后在根目录下创建build.xml文档,输入以下内容:
<textarea>
<xml version="1.0">
<project name="Hello world" default="doc">
<!-- properies -->
文章整理:西部数码--专业提供域名注册、虚拟主机服务
<property name="src.dir" value="src" />
<property name="report.dir" value="report" />
<property name="classes.dir" value="classes" />
<property name="lib.dir" value="lib" />
<property name="dist.dir" value="dist" />
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




