20175209 《Arrays和String单元测试》

题目

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

  • String类

    • charAt
    • split
  • Array类

    • sort
    • binarySearch

单元测试

一、String类

代码
  1. import junit.framework.TestCase;
  2. import org.junit.Test;
  3. public class TestString extends TestCase{   
  4. String str1 = new String("Hello java");   
  5. String str2 = new String("你好,爪哇");   
  6. String s = new String("http://jwc.besti.edu.cn/ wo zhen hao kan");   
  7. @Test   
  8. public void testcharAt() throws Exception {       
  9. assertEquals('l',str1.charAt(3));    //正常情况       
  10. assertEquals(' ',str1.charAt(5));    //正常情况       
  11. assertEquals('好',str2.charAt(1));   //正常情况       
  12. assertEquals(':',s.charAt(4));       //正常情况       
  13. assertEquals('a',str1.charAt(9));    //边界情况       
  14. assertEquals('你',str2.charAt(0));   //边界情况       
  15. //assertEquals(' ',str1.charAt(-1));           //异常情况       
  16. //assertEquals('哇',str2.charAt(5));           //异常情况   
  17. }   
  18. @Test   
  19. public void testsplit() throws Exception {       
  20. assertEquals("http://jwc",s.split("[.]")[0]);    //正常情况       
  21. assertEquals("http://jwc.besti.edu.cn/",s.split(" ")[0]);    //正常情况       
  22. assertEquals("jwc.besti.edu.cn",s.split("/")[2]);    //正常情况       
  23. assertEquals("",s.split("\\p{Lower}")[0]);      //边界情况       
  24. assertEquals("kan",s.split("\\s")[4]);          //边界情况       
  25. //assertEquals("jwc.besti.edu.cn",s.split("/")[1]);              //异常情况       
  26. //assertEquals(" ",s.split(" ")[-1]);                            //异常情况   
  27. }
  28. }
charAt方法异常情况截图



split方法异常情况截图



测试通过截图

二、Arrays类

代码
  1. import junit.framework.TestCase;
  2. import org.junit.Test;
  3. import java.util.Arrays;
  4. public class TestArrays extends TestCase{   
  5. int a[] = {2,5,6,4,9,3};   
  6. char b[] = {'d','y','a','t','z','h'};   
  7. String s[] = {"1","8","4","0","7","3"};   
  8. @Test   
  9. public void testsort() throws Exception {       
  10. Arrays.sort(a);       
  11. assertEquals("[2, 3, 4, 5, 6, 9]",Arrays.toString(a));       
  12. Arrays.sort(b,1,4);       
  13. assertEquals("[d, a, t, y, z, h]",Arrays.toString(b));       
  14. assertEquals('t',b[2]);       
  15. //assertEquals('a',b[0]);           //异常情况       
  16. Arrays.sort(s);       
  17. assertEquals("[0, 1, 3, 4, 7, 8]",Arrays.toString(s));   
  18. }   
  19. @Test   
  20. public void testbinarySearch() throws Exception {       
  21. Arrays.sort(a);       
  22. assertEquals(3,Arrays.binarySearch(a,5));       
  23. //assertEquals(-1,Arrays.binarySearch(a,10));     //异常情况       
  24. //assertEquals(-2,Arrays.binarySearch(a,0));     //异常情况   
  25. }
  26. }
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. SVN的使用说明

    SVN管理版本是比较好的东西,但是我的SVN图标老是不出来,有时候莫名其妙就没有了,所以记录一下处理办法: 1.右键->TortoiseSVN->Settings->Icon Ove ...

  2. Java初学习-常见单词

    implements    实行/实现      用于实现接口(interface) extends           延伸/扩展         用于类的继承 container        容 ...

  3. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  4. Java:API文档;文档注释中的javadoc标记;官方API;自己动手给项目建一个API文档

    1.什么是API文档 在Java语言中有3种注释 //单行注释 /* 多行注释 */ /** * 文档注释 */ API(应用程序接口)文档就是用javadoc命令提取文档注释生成的,html格式,用 ...

  5. MyDAL - .IsExistAsync() 使用

    索引: 目录索引 一.API 列表 .IsExistAsync() 用于 单表 / 多表连接 查询 二.API 单表-便捷 方法 举例 1.单表-便捷, 判断是否存在方法 var date = Dat ...

  6. PowerShell或命令行运行javac xx.java提示“编码GBK的不可映射字符”

    由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内 ...

  7. RocketMQ4.3.x 史上配置最全详解,没有之一

    最近整理了RocketMQ的配置参数一部分参考rocketmq技术内幕,一部分自己看源码猜测,有表述不清楚或不正确请广大网友指正 这里应该是最全的配置解析了,搞了2天.以后查询就好办了,仅此贡献给广大 ...

  8. SQL 行转列的运用

    适用场景:需要将行数据转换成列数据 例子: 现在有一个学生的成绩表 但是我们需要将每个学生的成绩汇集到一条数据上,这时候就可以用到行转列. 代码如下 一.不使用  PIVOT SELECT ),[St ...

  9. Python-异常处理-66

    异常和错误 # 1/0 # name # 2+'3' # [][3] #{}['k'] try: ') # 1/0 ') # name # 2+'3' # [][3] # {}['k'] ret = ...

  10. Graphic

    画圆操作 package demo1; import java.awt.Graphics; import javax.swing.*; import javax.swing.JPanel; publi ...