追求代码质量 - 测试Struts遗留的应用程序 - 编程入门网
}
private void executeSetUpOperation() throws Exception{
final IDatabaseConnection connection = this.getConnection ();
try{
DatabaseOperation.CLEAN_INSERT.execute(connection, this.getDataSet());
}finally{
connection.close();
}
}
private IDataSet getDataSet() throws IOException, DataSetException {
return new FlatXmlDataSet(new File("test/conf/dbunit-user- seed.xml"));
}
private IDatabaseConnection getConnection() throws ClassNotFoundException, SQLException {
final Class driverClass = Class.forName ("org.gjt.mm.mysql.Driver");
final Connection jdbcConnection = DriverManager.
getConnection("jdbc:mysql://localhost/ccb01",
"9043", "43xli");
return new DatabaseConnection(jdbcConnection);
}
private void verifyPassword(String fileName) throws Exception{
final IDataSet expectedDataSet = new FlatXmlDataSet(
new File(fileName));
final ITable defJoinData = this.getConnection().
createQueryTable("TestResult",
"select user.username, user.password " +
"from user where user.username=\"jane\"");
final ITable defTable = expectedDataSet.getTable("user");
Assertion.assertEquals(defJoinData, defTable);
}
}
追求代码质量 - 测试Struts遗留的应用程序(7)时间:2010-12-12 IBM Andrew Glover只多一个测试…… 请注意这个测试用例没有测试边界用例,例如:如果两个口令字段 (newPassword1 和 newPassword2())不匹配。谢天谢地,一旦设置好了,添加 另一个测试用例并不难。在清单 12 中,验证了如果两个值不匹配,就生成 ActionError,用户 “jane” 口令在数据库中的值保持不变。 清单 12. 添加新测试
在清单 12 中,我验证了 清单 2 中的逻辑正确地捕捉到了口令值不匹配的 情况。MockStrutsTestCase 类包含一个方便方法可以断言错误条件,这个方法 是 verifyActionErrors(),在这个方法中,错误 String 被传递进来进行验证 。还请注意,数据库被检查,这次是根据另一个包含相同值的文件(在这个示例 中,username “jane” 有一个未加密的 password “admin”)。 Struts 的集成测试 多数 Struts 应用程序不会 很快消失,所以重要的是知道如何在重写之前用 开发人员测试构建一定层次的保证。这个月,我介绍了在测试 Struts 遗留应用 程序时的一些挑战,并介绍了如何用 StrutsTestCase 和 DbUnit 处理它们。 StrutsTestCase 只要配置正确就会处理 St |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |