专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » junit测试:JUnit中如何测试异常 »正文

junit测试:JUnit中如何测试异常

来源: 发布时间:星期四, 2009年1月8日 浏览:13次 评论:0
  比如下面例子中我们就写了个test 来测试个Email验证类EmailAddrValidator这个类有个doValidate(email)思路方法可以验证email是否合法如果不合法则会抛出ValidationException异常因此我们写了两个思路方法来进行单元测试个思路方法testDoValidate用来测试正常值个思路方法testDoValidateException用来测试对email格式是否能正确触发异常

  这个例子关键是思路方法testDoValidateException(String email)

import junit.framework.TestCase;
public TestEmailAddrValidator extends TestCase {
EmailAddrValidator validator = EmailAddrValidator;
public void testDoValidate throws ValidationException {
validator.doValidate("[email protected]", null);
validator.doValidate("[email protected]", null);
validator.doValidate("[email protected]", null);
validator.doValidate("glchen.gang@163_tom.com", null);
}
public void testDoValidateException {
testDoValidateException("@b.c");
testDoValidateException("[email protected]");
testDoValidateException("a@b.");
testDoValidateException("@.c");
testDoValidateException("@...");
testDoValidateException(" ");
testDoValidateException(null);
}
private void testDoValidateException(String email) {
try {
validator.doValidate(email, null);
fail("末抛出异常");
} catch (ValidationException e) {
assertTrue(true);
}
}
}


  -----------------------------------------

  注:在这里Locale 参数并没有用到

import java.util.Locale;
import com.hygensoft.common.configure.ConfigureObject;
public EmailAddrValidator{
protected final String ERROR_CODE_INVALID_EMAIL_ADDR = "INVALID_EMAIL_ADDR";
protected final String ERROR_CODE_INVALID_INPUT = "INVALID_INPUT_OBJECT";
public Object doValidate(Object input, Locale locale) throws ValidationException {
(!(input instanceof String)) {
throw ValidationException(ERROR_CODE_INVALID_INPUT, input);
}
String inputStr = (String) input;
idx = inputStr.indexOf('@');
(idx -1 || idx 0) {
throw ValidationException(ERROR_CODE_INVALID_INPUT, input);
}
idx2 = inputStr.indexOf('.', idx);
(idx2 -1 || idx2 idx + 1) {
throw ValidationException(ERROR_CODE_INVALID_INPUT, input);
}
(inputStr.endsWith(".")) {
throw ValidationException(ERROR_CODE_INVALID_INPUT, input);
}
input;
}
/* (non-Javadoc)
* @see com.hygensoft.common.configure.Configurable#initialize(com.hygensoft.common.configure.ConfigureObject)
*/
public void initialize(ConfigureObject conf) {}
}


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: