站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Eclipse 专题将 JUnit 插件集成到 WebSphere Studio 中

将 JUnit 插件集成到 WebSphere Studio 中

摘要: Junit 是一个开放源代码的、并被业界认可的 Java™ 单元测试框架。IBM? WebSphere?Studio Application Developer(以下称为 Application Developer)是基于开放标准的 Eclipse 体系结构的下一代 IDE。本文旨在阐明如何在 Application Developer 中集成 JUnit 插件,并使用 JUnit 测试一个样本类。

? Copyright International Business Machines Corporation 2003. All rights reserved.

引言

Junit 是一个开放源代码的、并被业界认可的 Java™ 单元测试框架。IBM? WebSphere?Studio Application Developer(以下称为 Application Developer)是基于开放标准的 Eclipse 体系结构的下一代 IDE。本文旨在阐明如何在 Application Developer 中集成 JUnit 插件,并使用 JUnit 测试一个样本类。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

先决条件

硬件

软件

技术水平

您需要知道如何在 Application Developer 中进行一些简单的任务,例如打开一个透视图或者创建一个 Java 类。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

将 JUnit 集成进 Application Developer

  1. 从 eclipse.org处下载下列文件:
    • org.junit.zip (使用 org.junit)包含 JUnit 测试框架的插件。
    • org.eclipse.jdt.junit1.0.0.zip (使用 org.eclipse.jdt.junit)包含从 Eclipse 中启动 JUnit 测试并查看测试结果的插件。
  2. 将以上文件解压缩至 Application Developer 的 plugins 目录: \plugins
  3. 打开 Application Developer 工作台。
  4. 选择 Window => Preferences
  5. 在 Preferences 窗口中,选择 Plug-in development
  6. 右边的窗格会显示所有已装入的插件。单击 Reload重新装入 JUnit 插件。
  7. 重新装入以后,在已装入插件列表中查找下列各项:
    • JUnit Testing Framework
    • org.eclipse.jdt.junit


  8. 重新启动 Application Developer。
  9. 选择 Perspective => Show view => Other => Java
  10. 在 Java 透视图中,找到 JUnit 视图。

<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

运行测试案例

1. 设置用来运行测试案例的项目

  1. 打开 Java 透视图
  2. 创建一个 Java 项目,命名为 SampleJavaProject
  3. 在该项目的上下文菜单中,选择 Properties
  4. 在 Java 的 Properties 窗口中,选择 Java build path
  5. 在右边的窗格中,选择 Libraries选项卡。
  6. 单击 Add External JAR
  7. \plugins\org.junit\ 目录中选择 junit.jar
  8. 想要看到 JUnit 的源代码,您需要从上述目录中添加 src.jar
  9. 添加了 junit.jarsrc.jar 之后,再将它们添加至库中,如下面图 1 中突出显示的部分所示。
  10. 在所选项目的 Properties 窗口中,单击 OK



2. 创建一个样本类

  1. 打开 Java 透视图。
  2. 在前面创建的 SampleJavaProject 项目的 test.sample 包中创建一个名为 SampleJavaClass Java 类。
  3. 在 Java 编辑器中打开 SampleJavaClass,添加下列代码并保存。 <table bgcolor="#eeeeee" width="100%" cellpadding="5" cellspacing="0" border="1"><tr><td>
    
    
    package test.sample;
    public class SampleJavaClass {
    
       /**
       * Constructor
       */
    
       public SampleJavaClass() {
           super();
       }
    
       /**
       * Adds two numbers. This method is tested
       * by sample test cases.
       */
       public int add(int a, int b) {
           return a + b;
       }
    }
    
                
    </td></tr></table>
  4. SampleJavaClass 包含 add() 方法,该方法在样本测试案例中使用。

3. 创建样本测试案例

  1. 打开 Java 透视图。
  2. SampleJavaProject 项目的 test.testcase 包中创建一个名为 SampleJavaTestCase Java 类。
  3. 在 Java 编辑器中打开 SampleJavaTestCase,添加下列代码并保存。 <table bgcolor="#eeeeee" width="100%" cellpadding="5" cellspacing="0" border="1"><tr><td>
    
    
    package test.testcase;
    
    import junit.framework.TestCase;
    importtest.sample.SampleJavaClass;
    
    public class SampleJavaTestCase extends TestCase {
    
        /**
         * Constructor for SampleJavaTestCase
         */
        public SampleJavaTestCase(String name) {
           super(name);
        }
    
        /**
         * Test to test the method add in Sample Java Class
         */
        public void testAdd() {
            SampleJavaClass samp = new SampleJavaClass();
            int c = samp.add(2, 3);
            assertEquals(c, 5);
        }
    
        /**
         * Test to test the method add in Sample Java Class.
         * In this test, wrong expected value is given in
         * assert statement, assertEquals(c, 10), to demonstrate assert statement.
         */
        public void testAdd1() {
            SampleJavaClass samp = new SampleJavaClass();
            int c = samp.add(2, 3);
            assertEquals(c, 10);
        }
    
        /**
         * Main method to run Test Case in JUnit
         * Frame Work
         */
        public static void main(String[] args) {
            junit.textui.TestRunner.run(new SampleJavaTestCase(""));
        }
    }
                
    </td></tr></table>
  4. assertEquals 语句用来验证结果与预期输出是否一致:
    assertEquals(actualOutput, expectedOutput);
    如果 actualOutputexpectedOutput 不匹配,它将在输出中列出测试失败情况。
  5. 上面的测试案例中包含 SampleJavaClass 中关于 add() 方法的两个测试。 testAdd() 演示了一个成功测试的输出, testAdd1() 演示了一个失败测试的输出。

4. 运行测试案例

  1. 打开 Java 透视图。
  2. 请确保下面两个类编译正确:
    • test.sample.SampleJavaClass
    • test.testcase.SampleJavaTestCase
  3. 在 Packages 视图中,选择测试案例 SampleJavaTestCase
  4. 在工具栏中选择 Run => Junit tests
  5. 如果 Debug 透视图已打开,请返回 Java 透视图。
  6. JUnit 视图打开显示测试案例的结果。
    提示:当程序以 Run 方式启动时请关闭 Window =>Preferences => Debug => Show Debug perspective选项,这样在执行过测试案例后就不会再显示 Debug 透视图。

<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

关于 JUnit 视图

当您运行测试案例时,JUnit 视图就会被激活。它将通过一个红色的状态条显示测试中的失败,如图 2 所示。JUnit 视图用两页选项卡显示测试案例的结果:Failures 选项卡和 Hierarchy 选项卡:

图 2 显示了 JUnit 视图中 Failures 选项卡的用户界面。它列出了所有失败的测试以及它们各自的故障跟踪。




图 3 显示了 JUnit 视图中 Hierarchy 选项卡的用户界面。它列出了所有的测试案例以及它们的执行情况。测试名称前面绿色的对勾表示测试成功( ),而“x”( )则表示测试失败:




如果所有的测试都是成功的,那么 JUnit 视图将显示一条绿色的状态条,如图 4 所示:




除了上述信息之外,JUnit 视图还提供了下列测试结果:

失败是可以预期的并会被断言语句检测出来,而错误则是无法预期的。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

关于 JUnit 测试查找器(JUnit Test Finder)

JUnit 测试查找器是用来搜索给定的包或项目中的测试案例或测试套件。您可以从 JUnit 测试查找器的列表中选择任何一个测试案例或测试套件来运行:




搜索包或项目中的测试案例或测试套件

  1. 选择想要查找的测试案例所在的项目或包。
  2. 单击 JUnit tests,如图 7 所示。
  3. JUnit 测试查找器窗口打开,显示项目或包中的测试案例或测试套件的列表。(参见图 5)
  4. 选择您所需要的测试案例,然后单击 Finish。

再次运行上一次的测试案例

要重新启动上次运行的测试案例,请选择 Debug => Relaunch last,或者按 F10键。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

过滤器模式

过滤器模式被用来从测试失败通知中过滤掉不感兴趣的堆栈帧。




定义过滤器模式

  1. 从 Application Developer 工具栏中,选择 Window => Preferences
  2. 选择 JUnit
  3. 右边的窗格将显示堆栈过滤器模式列表。图 6 显示了过滤器模式的列表和输入新的过滤器模式的对话框。
  4. 想要将新的模式加进列表,请单击 Add
  5. 想要从列表中删除模式,请单击 Remove过滤掉失败通知中我们不感兴趣的堆栈帧。

选择 Filter stack trace entries failed tests来过滤已添加的堆栈过滤器模式。取消选择 Filter stack trace entries failed tests来禁用过滤机制。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

测试案例方式

测试案例可以在下列两种方式下启动:







在前面的示例中,测试案例是在 Run 方式下启动的,如图 7 所示。如果希望看到失败测试案例的详细信息,则需要在 Debug 方式下启动,如图 8 所示。

在 Debug 方式下启动测试案例或测试套件:

  1. 在 Package Explorer 中选择测试案例或测试套件。
  2. 单击菜单栏中的 Debug 图标出现一个下拉菜单 。
  3. 展开 Debug菜单项,然后单击 JUnit tests。遇到断点时暂挂控制将打开 Debug 透视图。

<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

结束语

本文向您说明了如何:


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>


<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

作者简介<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td colspan="3"></td></tr><tr align="left" valign="top"><td>

</td><td></td><td width="100%">

Sunil Mahamuni是 IBM Global Services India 的高级软件工程师和小组负责人。他在金融服务部门从事银行业与保险业的应用开发。他过去曾参与过 J2EE 和无线开发项目。他拥有印度 Osmania University 计算机应用硕士学位。您可以通过 msunil@in.ibm.com与 Sunil 联系。

</td></tr></table>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td colspan="3"></td></tr><tr align="left" valign="top"><td></td><td></td><td width="100%">

Pagadala J. Suresh是设在印度的 IBM Global Services 的软件工程师。他在 Gudivada 的 Akkineni Nageshwara Rao College 获得了学士学位,又在 Surathkal 的 Karnataka Regional Engineering College 获得计算机应用硕士学位。他获得了 IBM Certified Application Developer Associate for Websphere Studio Application Developer 证书。他从事过在因特网上公开应用程序时的静态安全问题。他的专长是在 WebSphere 和 Java 技术。他的技能领域是在银行和保险业。他拥有 IBM WebSphere Business Components Composer Framework 方面的经验。您可以通过 pjsuresh@in.ibm.com和他联系。

</td></tr></table>

<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>


↑返回目录
前一篇: 用 Eclipse 进行 XML 开发
后一篇: 通过扩展 WebSphere Studio 工具的 Eclipse 帮助系统来添加自助支持