当前页面: 开发资料首页 → Eclipse 专题 → 将 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 测试一个样本类。
先决条件
硬件
软件
技术水平
您需要知道如何在 Application Developer 中进行一些简单的任务,例如打开一个透视图或者创建一个 Java 类。 将 JUnit 集成进 Application Developer
运行测试案例
1. 设置用来运行测试案例的项目
2. 创建一个样本类
3. 创建样本测试案例
4. 运行测试案例
关于 JUnit 视图
当您运行测试案例时,JUnit 视图就会被激活。它将通过一个红色的状态条显示测试中的失败,如图 2 所示。JUnit 视图用两页选项卡显示测试案例的结果:Failures 选项卡和 Hierarchy 选项卡:
图 2 显示了 JUnit 视图中 Failures 选项卡的用户界面。它列出了所有失败的测试以及它们各自的故障跟踪。 图 3 显示了 JUnit 视图中 Hierarchy 选项卡的用户界面。它列出了所有的测试案例以及它们的执行情况。测试名称前面绿色的对勾表示测试成功(
),而“x”(
)则表示测试失败:
如果所有的测试都是成功的,那么 JUnit 视图将显示一条绿色的状态条,如图 4 所示: 除了上述信息之外,JUnit 视图还提供了下列测试结果: 失败是可以预期的并会被断言语句检测出来,而错误则是无法预期的。 关于 JUnit 测试查找器(JUnit Test Finder)
JUnit 测试查找器是用来搜索给定的包或项目中的测试案例或测试套件。您可以从 JUnit 测试查找器的列表中选择任何一个测试案例或测试套件来运行: 搜索包或项目中的测试案例或测试套件
再次运行上一次的测试案例
要重新启动上次运行的测试案例,请选择
Debug => Relaunch last,或者按
F10键。
过滤器模式
过滤器模式被用来从测试失败通知中过滤掉不感兴趣的堆栈帧。 定义过滤器模式
选择
Filter stack trace entries failed tests来过滤已添加的堆栈过滤器模式。取消选择
Filter stack trace entries failed tests来禁用过滤机制。
测试案例方式
测试案例可以在下列两种方式下启动: 在前面的示例中,测试案例是在 Run 方式下启动的,如图 7 所示。如果希望看到失败测试案例的详细信息,则需要在 Debug 方式下启动,如图 8 所示。 在 Debug 方式下启动测试案例或测试套件: 结束语
本文向您说明了如何:
作者简介<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td colspan="3"></td></tr><tr align="left" valign="top"><td>
Sunil Mahamuni是 IBM Global Services India 的高级软件工程师和小组负责人。他在金融服务部门从事银行业与保险业的应用开发。他过去曾参与过 J2EE 和无线开发项目。他拥有印度 Osmania University 计算机应用硕士学位。您可以通过
msunil@in.ibm.com与 Sunil 联系。
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和他联系。
<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>
org.junit.zip
(使用
org.junit)包含 JUnit 测试框架的插件。
org.eclipse.jdt.junit1.0.0.zip
(使用
org.eclipse.jdt.junit)包含从 Eclipse 中启动 JUnit 测试并查看测试结果的插件。
plugins
目录:
。
<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>
SampleJavaProject
。
目录中选择
junit.jar。
junit.jar
和
src.jar
之后,再将它们添加至库中,如下面图 1 中突出显示的部分所示。
SampleJavaProject
项目的
test.sample
包中创建一个名为
SampleJavaClass
Java 类。
</td></tr></table>
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;
}
}
SampleJavaClass
包含
add()
方法,该方法在样本测试案例中使用。
SampleJavaProject
项目的
test.testcase
包中创建一个名为
SampleJavaTestCase
Java 类。
</td></tr></table>
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(""));
}
}
assertEquals
语句用来验证结果与预期输出是否一致:
assertEquals(actualOutput, expectedOutput);
如果
actualOutput
和
expectedOutput
不匹配,它将在输出中列出测试失败情况。
SampleJavaClass
中关于
add()
方法的两个测试。
testAdd()
演示了一个成功测试的输出,
testAdd1()
演示了一个失败测试的输出。
test.sample.SampleJavaClass
test.testcase.SampleJavaTestCase
提示:当程序以 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>
<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" 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" 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%">
<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 帮助系统来添加自助支持