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. Android项目实战(五十三):判断网络连接是否为有线状态(tv项目适配)

    一般对于android手机,我们可以通过sdk提供的方法判断网络情况 /** * 获取当前的网络状态 :没有网络-0:WIFI网络1:4G网络-4:3G网络-3:2G网络-2 * 自定义 * * @p ...

  2. 网络爬虫BeautifulSoup库的使用

    使用BeautifulSoup库提取HTML页面信息 #!/usr/bin/python3 import requests from bs4 import BeautifulSoup url='htt ...

  3. Handler,Looper,MessageQueue流程梳理

    目的:handle的出现主要是为了解决线程间通讯. 举个例子,android是不允许在主线程中访问网络,因为这样会阻塞主线程,影响性能,所以访问网络都是放在子线程中执行,对于网络返回的结果则需要显示在 ...

  4. (五)图数据库数neo4j据备份与恢复

    1.备份方式 neo4j目前有三种备份方式: (1)java在线备份,通过java程序可在neo4j启动状态下备份数据,也可远程备份(社区版本目前不支持) (2)neo4j-admin工具,可在neo ...

  5. SQL优化小技巧

    我们要做到不但会写SQL,还要做到写出性能优良的SQL语句. 1.使用表的别名(Alias): 当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析 ...

  6. Python 进程(一)理论部分

    进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行,即正在运行的程序,是系统进行资源分配和调度的基本单位,进程是对正在运行程序的一个抽象,在早期面向进程设计的计算机结构中,进程是程 ...

  7. mongodb复制+分片集原理

    ----------------------------------------复制集---------------------------------------- 一.复制集概述: Mongodb ...

  8. 「插件」Runner更新Pro版,帮助设计师远离996

    三年多前Runner团队在德国汉堡的骇客松上第一次发布了Sketch插件Runner的beta版本.从那以后,这个团队的目标一直很清晰: 创造一个加速设计工作流的工具. 他们只给Runner添加真正能 ...

  9. Linux:Day17(上) gawk基础

    GNU awk: 文本处理三工具:grep,sed,awk grep,egrep,fgrep:文本过滤工具:pattern sed:行编辑器 模式空间.保持空间 awk:报告生成器,格式化文本输出: ...

  10. 微信、qq可以上网,但是浏览器却不能上网怎么办

    问题描述:微信.qq可以上网,但是浏览器却不能上网怎么办? 解决办法(步骤如下):(1)打开360安全卫士,点击更多 (2)进入到更多中,点击断网急救箱 (3)进入到断网急救箱,点击全面诊断 (4)一 ...