在前面的junit4初体验中我就说过,junit参数化测试是一只小怪兽,只逼编码痛点,现在我们这里来整理一下。
看过我前面的那篇初体验的就会发现一个问题,我们的测试代码大量的重复了。在这里先贴出原来的那2篇代码:
测试源码:
package test.junit4test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public final class Linkin
{
/**
* @创建时间: 2016年1月28日
* @相关参数: @param name
* @相关参数: @return
* @功能描述:格式化一个Java驼峰规则的字符串成数据库规则。
*/
public static final String underscoreName(String name)
{
if (name == null)
{
return null;
}
if ("".equals(name))
{
return "";
}
StringBuilder result = new StringBuilder().append(name.substring(0, 1).toLowerCase());
for (int i = 1; i < name.length() - 1; i++)
{
String s = name.substring(i, i + 1);
String slc = s.toLowerCase();
String pres = name.substring(i - 1, i);
String preslc = pres.toLowerCase();
if (!s.equals(slc) && pres.equals(preslc))
{
result.append("_").append(slc);
}
else
{
result.append(slc);
}
}
return result.append(name.substring(name.length() - 1, name.length()).toLowerCase()).toString();
}
/**
* @创建时间: 2016年1月28日
* @相关参数: @param name Java对象名称
* @相关参数: @return 格式化后的名称
* @功能描述: 将Java对象名称(每个单词的头字母大写)按照数据库命名的习惯进行格式化
* <p>
* 格式化后的数据为小写字母,并且使用下划线分割命名单词。
* 如果参数name为null,则返回null。