单元测试 JUnit3 JUnit4

JUnit4和JUnit3的区别:

 

JUnit3的特点:

1.必须继承TestCase

2.测试方法必须以test开头

3.通过assert*判断测试结果

4.采用setUp和TearDown加载初始环境信息和清除相关资源

JUnit4的特点:

1.必须引入org.junit.Test采用注解方式,类开始的时候要标记@Test

2.必须引入类(org.junit.Assert.*)

3.采用@Befor和@After加载或者清除资源

4.提供对异常的测试@Test(expected = "可能抛出的异常")

5.测试响应时间@Test(timeout=1000)(单位:毫秒)

 

 

附上一个JUnit4的例子:

目标类:

public class JunitDemo {
 /**
  * 格式化字符串 如: userName --> user_name
  * @param str
  * @return
  */
 public static String wordFormat(String str) {
  if (str == null) {
   return null;
  }
  Pattern pattern = Pattern.compile("[A-Z]");
  Matcher matcher = pattern.matcher(str);
  StringBuffer sb = new StringBuffer();
  // find()尝试查找与该模式匹配的输入序列的下一个子序列
  while (matcher.find()) {
   if (matcher.start() != 0) {
    // appendReplacement(StringBuffer sb,String
    // replacement)实现非终端添加和替换步骤。
    // matcher.group()返回由以前匹配操作所匹配的输入子序列。
    matcher.appendReplacement(sb, "_" + matcher.group());
   }
  }
  // appendTail(StringBuffer sb)实现终端添加和替换步骤。
  return matcher.appendTail(sb).toString().toLowerCase();
 }
}

 

测试类:

public class JunitDemoTest {
 // 1.必须有org.junit.Test注解 2.方法必须声明为void
 @Test
 public void testWordFormat() {
  String target = "userName";
  String result = JunitDemo.wordFormat(target);
  assertEquals("user_name", result);
 }

 /**
  * 测试null情况
  * 测试不通过
  */
 @Test
 public void testWordFormatNull() {
  String target = null;
  String result = JunitDemo.wordFormat(target);
  assertNull(result);
 }
 
 /**
  * 测试为空的情况
  */
 @Test
 public void testWordFormatEmpty() {
  String target = "";
  String result = JunitDemo.wordFormat(target);
  assertEquals("", result);
 }
 
 /**
  * 测试大写字母开头的
  */
 @Test
 public void testWordFormatBegin() {
  String target = "UserSex";
  String result = JunitDemo.wordFormat(target);
  assertEquals("user_sex", result);
 }
 /**
  * 测试大写字母开头的
  */
 @Test
 public void testWordFormatEnd() {
  String target = "userSeX";
  String result = JunitDemo.wordFormat(target);
  assertEquals("user_se_x", result);
 }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值