20175209 《Arrays和String单元测试》
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单元测试》的更多相关文章
- 学号20175313 《Arrays和String单元测试》第八周
目录 Arrays和String单元测试 一.String类相关方法的单元测试 二.Arrays类相关方法的单元测试 三.测试过程中遇到的问题及其解决方法 四.码云链接 五.参考资料 Arrays和S ...
- Arrays和String单元测试
20175227张雪莹 2018-2019-2 <Java程序设计> Arrays和String单元测试 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关 ...
- 20175314薛勐 Arrays和String单元测试
Arrays和String单元测试(课下作业,选做) 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 CharAt Spl ...
- Arrays和String单元测试-20175218
Arrays和String单元测试 一.题目 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arra ...
- 20175316 盛茂淞 Arrays和String单元测试
Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arr ...
- 20175229张智敏 Arrays和String单元测试
Arrays和String单元测试 1.具体要求: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split A ...
- 20155228 2017-5-10 课堂测试:Arrays和String单元测试
20155228 2017-5-10 课堂测试:Arrays和String单元测试 题目和要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 ...
- 《Java 程序设计》课堂实践项目-Arrays和String单元测试
<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...
- 补交20145226蓝墨云班课 -- Arrays和String单元测试
蓝墨云班课 -- Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt ...
随机推荐
- selenium-确认进入了预期页面
selenium确认进入了预期页面 在自动化操作中,浏览器每次进入一个新的需要,都需要确认该页面是否打开或打开的页面是否是预期的页面 需要进行确认页面后方可进行下一步操作 确认页面有很多中方法,像每个 ...
- 使用sftp操作文件并添加事务管理
本文主要针对文件操作的事务管理,即写文件和删除文件并且能保证事务的一致性,可与数据库联合使用,比如需要在服务器存文件,相应的记录存放在数据库,那么数据库的记录和服务器的文件数一定是要一一对应的,该部分 ...
- 分布式系统CAP理论
在单机的数据库系统之中,我们很容易实现一套满足ACID 特性的 事务处理系统, 事务的一致性不存在问题. 但是在分布式系统之中,由于数据分布在不同的主机结点上,如何对着些数据进行分布式的事务处理就具有 ...
- fastjson SerializerFeature详解
- drools规则引擎与kie-wb和kie-server远程执行规则(7.18.0.Final)
最近研究了一下规则引擎drools. 这篇博客带你搭建并运行一个可在线编辑,在线打包,远程执行的规则引擎(drools) 本篇博客同时参考https://blog.csdn.net/chinrui/a ...
- RabbitMQ框架构建系列(一)——AMPQ协议
一.MQ 在介绍RabbitMq之前,先来说一下MQ.什么是MQ?MQ全称为Message Queue即消息队列,就是一个消息的容器, MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入 ...
- js操作文章、字符串换行
操作前: 操作后: 第一步: 把中英文的逗号和顿号置换为 '\n’ support_unit = support_unit.replace(/,|,|./g, '\n') 第二步: //为了使\n ...
- WPF中查看PDF文件之MoonPdfLib类库
最近研究了两种PDF文件查看器,MoonPdfLib或者AdobeReader. 今天先说第一种,在网上扒到的很好的WPF中用MoonPdf类库来展示PDF文件. 在Sourceforge上下载到Mo ...
- 网页控制脚本修改系统信息 C语言调用uci
0 交叉编译生成程序 http://tuntuntun.net/%E5%9C%A8OpenWrt%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%AC%AC%E4%B8%80%E4%B8% ...
- 使用 JS 输出螺旋矩阵
关于螺旋矩阵 这是我曾经遇到过的面试题,在 LeetCode 上找到了题目的原型,难度中等.题目描述如下: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中 ...