上海网站建设的价格,wordpress 下载列表插件,旅游分析 网站,株洲市天元区建设局网站单元测试——概述和Junit框架快速入门
1.概述 就是针对最小的功能单元#xff08;方法#xff09;#xff0c;编写测试代码对其进行正确性测试 可以用来对方法进行测试#xff0c;它是第三方公司开源出来的#xff08;很多开发工具已经集成了Junit框架#xff0c;比如I…单元测试——概述和Junit框架快速入门
1.概述 就是针对最小的功能单元方法编写测试代码对其进行正确性测试 可以用来对方法进行测试它是第三方公司开源出来的很多开发工具已经集成了Junit框架比如IDEA 优点 1可以灵活的编写测试代码可以针对某个方法执行测试也支持意见完成对全部方法的自动化测试且各自独立 2不需要程序员去分析测试的结果会自动生成测试报告出来
2.快速入门
需求某个系统有多个业务方法请使用Junit单元测试框架编写测试代码完成正确性测试
具体步骤
因为IDEA已经集成了Junit所以不需要手动导入为需要测试的业务类定义对应的测试类并为每个业务方法编写测试方法测试方法必须公共无参无返测试方法上必须声明Test注解在测试方法中调用被测试的业务方法开始测试选中测试方法附近位置右键运行代码如果通过控制台显示绿色失败显示红色
字符串工具类
public class StringUtil {//功能打印字符串长度public static void printNumber(String name){//发现错误加入判断if(name null){System.out.println(0);return;}System.out.println(名字长度是 name.length());}//功能求字符串最大索引public static int getMaxIndex(String data){if(data null){return -1;}//return data.length(); //这里逻辑有问题!但是没有出现异常return data.length() - 1;}测试类
public class StringUtilTest {Testpublic void testPrintNumber(){//在测试方法中调用被测试的方法即可StringUtil.printNumber(admin); //名字长度是5StringUtil.printNumber(null);}Testpublic void testGetMaxIndex(){System.out.println(StringUtil.getMaxIndex(null)); //-1int index StringUtil.getMaxIndex(admin);Assert.assertEquals(逻辑错误, 4 ,index);System.out.println(index);}
}测试方法必须公共、无参、无返
断言机制程序编写者可以预测程序运行的结果使用Assert类的静态方法assertEquals
public static void assertEquals(String 错误提示, long 预期值, long 实际值);
3.Junit单元测试框架的常用注解Junit 4.xxxx版本
注解说明Test测试类中的方法必须用它修饰才能成为测试方法才能启动执行Before用来修饰一个实例方法该方法会在每一个测试方法执行之前执行一次After用来修饰一个实例方法该方法会在每一个测试方法执行之后执行一次BeforeClass用来修饰一个静态方法该方法会在所有测试方法之前只执行一次AfterClass用来修饰一个静态方法还方法会在所有测试方法之后只执行一次
测试类
public class StringUtilTest {BeforeClasspublic static void beforeClass(){System.out.println(-------- beforeClass修饰static方法会在所有测试方法之前执行一次 --------);}AfterClasspublic static void afterClass(){System.out.println(-------- afterClass修饰static方法会在所有测试方法之后执行一次 --------);}Before //初始化数据public void before(){System.out.println(-------- before修饰实例方法会在每一个测试方法之前执行一次 --------);}After //释放资源public void after(){System.out.println(-------- after修饰实例方法会在每一个测试方法之后执行一次 --------);}Testpublic void TestPrintNumber() {StringUtil.printNumber(admin);}Testpublic void TestGetMaxIndex() {int index1 StringUtil.getMaxIndex(null);System.out.println(index1);int index2 StringUtil.getMaxIndex(admin);System.out.println(index2);Assert.assertEquals(方法有逻辑错误, 4, index2);}
}在测试方法之前执行的常用来初始化资源在测试方法之后执行的常用来释放资源