java单元测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java单元测试相关的知识,希望对你有一定的参考价值。
1、首先新建一个 Java 工程 —— TestJUnit。打开项目 TestJUnit的属性页 -> 选择“Java Build Path”子选项 -> 点选“Add Library…”按钮 -> 在弹出的“Add Library”对话框中选择 JUnit,并在下一页中选择版本 4.1 后点击“Finish”按钮。
2、在项目 TestJUnit 根目录下添加一个新目录 testsrc,并把它加入到项目源代码目录中,以存放测试代码,使之与源代码分离。
3、编写单元测试用例:
package com.meritit;
import static org.junit.Assert.AssertNull; import static org.junit.Assert.AssertEquals; import org.junit.Test;
public class TestWordDealUtil {
//测试wordFormat4DB 一般的处理情况 @Test public void wordFormat4DBNormal(){ String target = "employeeInfo"; String result = WordDealUtil.wordFormat4DB(target); assertEquals("employee_info", result); }
//测试null时的处理情况 @Test public void wordFormat4DBNull(){ String target = null; String result = WordDealUtil.wordFormat4DB(target); assertNull(result); }
//测试空字符串时的处理情况 @Test public void wordFormat4DBEmpty(){ String target = ""; String result = WordDealUtil.wordFormat4DB(target); assertEquals("", result); }
//测试当首字母大写时的情况 @Test public void wordFormat4DBegin(){ String target = "EmployeeInfo"; String result = WordDealUtil.wordFormat4DB(target); assertEquals("employee_info", result); }
//测试当尾字母为大写时的情况 @Test public void wordFormat4DBEnd(){ String target = "employeeInfoA"; String result = WordDealUtil.wordFormat4DB(target); assertEquals("employee_info_a", result); }
//测试多个相连字母大写时的情况 @Test public void wordFormat4DBTogether(){ String target = "employeeAInfo"; String result = WordDealUtil.wordFormat4DB(target); assertEquals("employee_a_info", result); } } |
4、按照需求所写的代码如下:
package com.meritit;
import java.util.regex.Matcher; import java.util.regex.Pattern;
/** * 对名称、地址等字符串格式的内容进行格式检查 * @author lvxg */ public class WordDealUtil {
/** * 将Java对象名称(每个单词的头字母大写)按照 * 数据库命名的习惯进行格式化 * 格式化后的数据为小写字母,并且使用下划线分割命名单词 * * 例如:employeeInfo 经过格式化之后变为 employee_info * * @param name Java对象名称 */ public static String wordFormat4DB(String name){ Pattern p = Pattern.compile("[A-Z]"); Matcher m = p.matcher(name); StringBuffer sb = new StringBuffer();
while(m.find()){ m.appendReplacement(sb, "_"+m.group()); } return m.appendTail(sb).toString().toLowerCase(); } } |
5、运行测试,结果如图所示:
JUnit 运行界面有两个测试情况未通过。
以上是关于java单元测试的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Spring + EasyMock做Java单元测试
Java应用XVIII在 Java 中使用JUnit5进行单元测试和自动化测试