GWT测试

本文概述

  • 运行单元测试
  • 写作单元测试
【GWT测试】JUnit提供了经过时间检验的框架来测试GWT应用程序。它包含许多工具, 可以根据用户需要直接创建测试用例。
现在, 基于Web项目STOCK EXCHANGE(在上一章中创建), 我们执行JUnit测试。
  1. 像所有GWT JUnit测试用例一样, StockExchangeTest类在com.google.gwt.junit.client包中扩展了GWT测试用例类。你可以通过扩展此类来创建其他测试用例。
  2. StockExchangeTest类具有抽象方法(getModuleName), 该方法必须返回GWT模块的名称。对于StockExchange, 即com.google.gwt.sample.stockexchange.StockExchange。
  3. StockExchangeTest类是使用一个示例测试用例重言式测试testSimple生成的。此testSimple方法使用从JUnit Assert类继承的许多断言函数之一。
  4. assertTrue(boolean)函数断言传入的布尔参数的值为true。如果不是, 则在JUnit中运行时, testSimple测试将失败。
StockExchangeTest.java
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测试:
  1. 在命令行中, 使用junitCreator生成的脚本
  2. 在Eclipse中, 使用Google Eclipse插件
  3. 在Eclipse中, 使用由webAppCreator生成的Eclipse启动配置文件
  4. 在手动测试模式下
我们正在使用Eclipse和Google插件:
Google Eclipse插件可轻松在Eclipse中运行测试。
  • 在开发模式下运行JUnit测试。
  • 在Package Explorer中, 右键单击要运行的测试用例, 选择Run As> GWT Junit Test
  • simpleTest执行无错误。
GWT测试

文章图片
  • 在生产模式下运行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

    推荐阅读