本文概述
- 运行单元测试
- 写作单元测试
现在, 基于Web项目STOCK EXCHANGE(在上一章中创建), 我们执行JUnit测试。
- 像所有GWT JUnit测试用例一样, StockExchangeTest类在com.google.gwt.junit.client包中扩展了GWT测试用例类。你可以通过扩展此类来创建其他测试用例。
- StockExchangeTest类具有抽象方法(getModuleName), 该方法必须返回GWT模块的名称。对于StockExchange, 即com.google.gwt.sample.stockexchange.StockExchange。
- StockExchangeTest类是使用一个示例测试用例重言式测试testSimple生成的。此testSimple方法使用从JUnit Assert类继承的许多断言函数之一。
- assertTrue(boolean)函数断言传入的布尔参数的值为true。如果不是, 则在JUnit中运行时, testSimple测试将失败。
package com.google.gwt.sample.stockexchange.client;
import com.google.gwt.junit.client.GWTTestCase;
/**
* GWT JUnit tests must extend GWTTestCase.
*/
public class StockExchangeTest extends GWTTestCase {
/**
* Must refer to a valid module that sources this class.
*/
public String getModuleName() {
return "com.google.gwt.sample.stockexchange.StockExchange";
}
/**
* Add as many tests as you like.
*/
public void testSimple() {
assertTrue(true);
}
}
运行单元测试 你可以通过四种方式运行JUnit测试:
- 在命令行中, 使用junitCreator生成的脚本
- 在Eclipse中, 使用Google Eclipse插件
- 在Eclipse中, 使用由webAppCreator生成的Eclipse启动配置文件
- 在手动测试模式下
Google Eclipse插件可轻松在Eclipse中运行测试。
- 在开发模式下运行JUnit测试。
- 在Package Explorer中, 右键单击要运行的测试用例, 选择Run As> GWT Junit Test
- simpleTest执行无错误。
文章图片
- 在生产模式下运行JUnit测试。
- 在Package Explorer中, 右键单击要运行的测试用例, 然后选择Run As> GWT Junit Test(生产模式)
- simpleTest执行无错误。
- 编写一个JUnit测试, 以验证StockPrice类的构造函数是否正确设置了新对象的实例字段。
- 向StockExchangeTest类添加testStockPriceCtor方法, 如下所示。
/**
* Verify that the instance fields in the StockPrice class are set correctly.
*/
public void testStockPriceCtor() {
String symbol = "XYZ";
double price = 70.0;
double change = 2.0;
double changePercent = 100.0 * change / price;
StockPrice sp = new StockPrice(symbol, price, change);
assertNotNull(sp);
assertEquals(symbol, sp.getSymbol());
assertEquals(price, sp.getPrice(), 0.001);
assertEquals(change, sp.getChange(), 0.001);
assertEquals(changePercent, sp.getChangePercent(), 0.001);
}
在开发模式下重新运行StockExchangeTest。
两项测试均应通过:
[junit] Running com.google.gwt.sample.stockexchange.client.StockExchangeTest
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 12.451 sec
推荐阅读
- GWT教程介绍
- GWT建议框
- GWT股票交易所应用程序示例
- GWT StackLayoutPanel用法
- GWT SplitLayoutPanel用法
- GWT滚动面板
- GWT RPC实例
- GWT根面板
- GWT RootLayoutPanel用法