20175209 《Arrays和String单元测试》

题目

在IDEA中以TDD的方式对String类和Arrays类进行学习,测试相关方法的正常,错误和边界情况

  • String类

    • charAt
    • split
  • Array类

    • sort
    • binarySearch

单元测试

一、String类

代码
import junit.framework.TestCase;
import org.junit.Test; public class TestString extends TestCase{   
String str1 = new String("Hello java");   
String str2 = new String("你好,爪哇");   
String s = new String("http://jwc.besti.edu.cn/ wo zhen hao kan");   
@Test   
public void testcharAt() throws Exception {       
assertEquals('l',str1.charAt(3));    //正常情况       
assertEquals(' ',str1.charAt(5));    //正常情况       
assertEquals('好',str2.charAt(1));   //正常情况       
assertEquals(':',s.charAt(4));       //正常情况       
assertEquals('a',str1.charAt(9));    //边界情况       
assertEquals('你',str2.charAt(0));   //边界情况       
//assertEquals(' ',str1.charAt(-1));           //异常情况       
//assertEquals('哇',str2.charAt(5));           //异常情况   
}   
@Test   
public void testsplit() throws Exception {       
assertEquals("http://jwc",s.split("[.]")[0]);    //正常情况       
assertEquals("http://jwc.besti.edu.cn/",s.split(" ")[0]);    //正常情况       
assertEquals("jwc.besti.edu.cn",s.split("/")[2]);    //正常情况       
assertEquals("",s.split("\\p{Lower}")[0]);      //边界情况       
assertEquals("kan",s.split("\\s")[4]);          //边界情况       
//assertEquals("jwc.besti.edu.cn",s.split("/")[1]);              //异常情况       
//assertEquals(" ",s.split(" ")[-1]);                            //异常情况   
}
}
charAt方法异常情况截图



split方法异常情况截图



测试通过截图

二、Arrays类

代码
import junit.framework.TestCase;
import org.junit.Test;
import java.util.Arrays; public class TestArrays extends TestCase{   
int a[] = {2,5,6,4,9,3};   
char b[] = {'d','y','a','t','z','h'};   
String s[] = {"1","8","4","0","7","3"};   
@Test   
public void testsort() throws Exception {       
Arrays.sort(a);       
assertEquals("[2, 3, 4, 5, 6, 9]",Arrays.toString(a));       
Arrays.sort(b,1,4);       
assertEquals("[d, a, t, y, z, h]",Arrays.toString(b));       
assertEquals('t',b[2]);       
//assertEquals('a',b[0]);           //异常情况       
Arrays.sort(s);       
assertEquals("[0, 1, 3, 4, 7, 8]",Arrays.toString(s));   
}   
@Test   
public void testbinarySearch() throws Exception {       
Arrays.sort(a);       
assertEquals(3,Arrays.binarySearch(a,5));       
//assertEquals(-1,Arrays.binarySearch(a,10));     //异常情况       
//assertEquals(-2,Arrays.binarySearch(a,0));     //异常情况   
}
}
sort方法异常情况截图

binarySearch方法异常情况截图

测试通过截图

测试过程中遇到的问题及解决方法

  • 问题1:在测试split方法时,发现正常情况下的运行报错,Actual返回值为引用

  • 解决方法:查找书上第八节关于split方法的讲解,发现分解后的内容时存放在String数组中,因此在使用时需要通过数组下标调用,在使用时加上下标即可

  • 问题2:split方法在测试使用“/”符号作为分隔符时assertEquals("jwc.besti.edu.cn",s.split("/")[1]); 出现错误

  • 查看字符串s中的内容时发现连续出现了两个“/”符号,因此下标为1中的内容应为空,要比较的字符串的内容应该存放在下标为2的内存中

  • 问题3:在测试binarySearch方法时,开始时没有先将数组中的内容进行排序

  • 解决方法:数组中没有出现重复的元素,所以运行时没有问题。在查看了API文档后,在代码中添加了对数组的排序并重新进行测试

  • 问题4:测试sort方法时,Actual返回值为引用,并不是排序的结果

  • 解决办法:将数组转化为字符串形式输出即可输出数组全部内容

  • 问题5:在测试split方法时想用“.”做分隔符,但是写成“\56”的形式编译时出现问题,必须写成“[.]”的形式

  • 解决方法:暂时还没有解决……

代码托管

https://gitee.com/wangzihong/20175209/tree/master/课上练习及课下作业/test![]

20175209 《Arrays和String单元测试》的更多相关文章

  1. 学号20175313 《Arrays和String单元测试》第八周

    目录 Arrays和String单元测试 一.String类相关方法的单元测试 二.Arrays类相关方法的单元测试 三.测试过程中遇到的问题及其解决方法 四.码云链接 五.参考资料 Arrays和S ...

  2. Arrays和String单元测试

    20175227张雪莹 2018-2019-2 <Java程序设计> Arrays和String单元测试 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关 ...

  3. 20175314薛勐 Arrays和String单元测试

    Arrays和String单元测试(课下作业,选做) 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 CharAt Spl ...

  4. Arrays和String单元测试-20175218

    Arrays和String单元测试 一.题目 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arra ...

  5. 20175316 盛茂淞 Arrays和String单元测试

    Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arr ...

  6. 20175229张智敏 Arrays和String单元测试

    Arrays和String单元测试 1.具体要求: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split A ...

  7. 20155228 2017-5-10 课堂测试:Arrays和String单元测试

    20155228 2017-5-10 课堂测试:Arrays和String单元测试 题目和要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 ...

  8. 《Java 程序设计》课堂实践项目-Arrays和String单元测试

    <Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...

  9. 补交20145226蓝墨云班课 -- Arrays和String单元测试

    蓝墨云班课 -- Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt ...

随机推荐

  1. 【土旦】vue项目中 使用 pako.js 解密 gzip加密字符串

    前言 今天跟后台对接一个接口,接受到一个加密的值,说是通过gzip加密过的,然后就蒙蔽了, 赶紧上百度找了一下资料,通过一篇文章(原文在底部)发现有个js库可以解密,就下载轻松解密了 实现代码 pok ...

  2. ocelot 自定义认证和授权

    ocelot 自定义认证和授权 Intro 最近又重新启动了网关项目,服务越来越多,每个服务都有一个地址,这无论是对于前端还是后端开发调试都是比较麻烦的,前端需要定义很多 baseUrl,而后端需要没 ...

  3. go get获取gitlab私有仓库的代码

    目录 目录 1.Gitlab的搭建 2.如何通过go get,获取Gitlab的代码 目录 1.Gitlab的搭建   在上一篇文章中,已经介绍了如何搭建Gitlab Https服务<Nginx ...

  4. thinkPHP HTML输出多条查询结果

    控制端 $select=M('Baojiao')->query("select * from think_Baojiao where COMPANY='$comname'") ...

  5. Mysql8.0.11win64重置root用户密码操作

    在笔记本和PC上面使用Mysql8.0.11免安装版本,均遇到此问题,记性不太好,现做下笔记. 1.cmd下,先关掉已启动的mysql服务,使用命令:net stop mysql 2.步骤1的cmd窗 ...

  6. 吴军武志红万维刚薛兆丰何帆曾鸣李笑来罗永浩等得到APP专栏作者的书3

    整理了一下最近两三年内看过的得到APP专栏与课程作者的得到精选文集和他们写过的书共本.新增吴军1本,武志红1本. 其中:武志红3本,熊太行1本,薛兆丰2本,吴军4本,何帆3本,曾鸣2本,万维刚1本,李 ...

  7. 从Linux 与 Unix 异同,看开源世界的发展!

    从Linux 与 Unix 异同,看开源世界的发展! 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确 ...

  8. [已解决]ValueError: row index was 65536, not allowed by .xls format

    报错: ValueError: row index was 65536, not allowed by .xls format 解决方案: xlrd和xlwt处理的是xls文件,单个sheet最大行数 ...

  9. 消息队列比较-rabbitmq/kafka/rocketmq/ONS

    主要是比较这几种队列中间件: rabbitmq kafka rocketmq ONS 分以下几个维度来比较 高并发 毫无疑问KAFKA发消息的速度是最快的 ROCKETMQ/ONS次之 rabbitm ...

  10. 将WTL应用向导添加到VS2019

    WTL 简介 WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序.相对于 ...