WEB开发网
开发学院软件开发Java 追求代码质量: 可重复的系统测试 阅读

追求代码质量: 可重复的系统测试

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示:在本质上,像 JUnit 和 TestNG 一样的测试框架方便了可重复性测试的创建,追求代码质量: 可重复的系统测试,由于这些框架利用了简单 Boolean 逻辑(以 assert 方法的形式)的可靠性,这使得无人为干预而运行测试成为可能,使测试的 plumbing 可重复则是开发人员的任务,而这在部署 Web 应用程

在本质上,像 JUnit 和 TestNG 一样的测试框架方便了可重复性测试的创建。由于这些框架利用了简单 Boolean 逻辑(以 assert 方法的形式)的可靠性,这使得无人为干预而运行测试成为可能。事实上,自动化是测试框架的主要优点之一 —— 我能够编写一个用于断言具体行为的相当复杂的测试,且一旦这些行为有所改变,框架就会报告一个人人都能明白的错误。

利用成熟的测试框架会带来框架 可重复性的优点,这是显而易见的。但逻辑的 可重复性却取决于您。例如,考虑创建用于验证 Web 应用程序的可重复测试的情况,一些 JUnit 扩展框架(如 JWebUnit 和 HttpUnit)在协助自动化的 Web 测试方面非常好用。但是,使测试的 plumbing 可重复则是开发人员的任务,而这在部署 Web 应用程序资源时很难进行。

实际的 JWebUnit 测试的构造过程相当简单,如清单 1 所示:


清单 1. 一个简单的 JWebUnit 测试

package test.come.acme.widget.Web; 
 
import net.sourceforge.jwebunit.WebTester; 
import junit.framework.TestCase; 
 
public class WidgetCreationTest extends TestCase { 
 private WebTester tester; 
 
 protected void setUp() throws Exception { 
 this.tester = new WebTester(); 
 this.tester.getTestContext(). 
  setBaseUrl("http://localhost:8080/widget/"); 
 } 
 
 public void testWidgetCreation() { 
 this.tester.beginAt("/CreateWidget.html");  
 this.tester.setFormElement("widget-id", "893-44"); 
 this.tester.setFormElement("part-num", "rt45-3"); 
 
 this.tester.submit();  
 this.tester.assertTextPresent("893-44"); 
 this.tester.assertTextPresent("successfully created."); 
 } 
}  

1 2 3 4 5 6  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接