zoukankan      html  css  js  c++  java
  • 20155312张竞予 20170510实践一:在IDEA中以TDD的方式对String类和Arrays类进行学习

    实践题目

    在IDEA中以TDD的方式对String类和Arrays类进行学习

    • 测试相关方法的正常,错误和边界情况

    • String类

      • charAt
      • split
    • Arrays类

      • sort
      • binarySearch

    课上未能及时提交的原因

    • 对单元测试掌握不熟,在老师演示具体方法之前,自己的思路是建立一个空的MyArrays类,然后建立它的测试类MyArraysTest,在测试类中定义变量,进行sort binarySearch操作后,再建立两个Tester,在其中利用断言测试结果与预期值是否相同。
    • 经过老师的提点,了解到可以直接在实验二已有测试代码中直接添加两个Tester,不需要新建测试类。但在操作过程中,又出现了新的疑问,到底把新建测试实例、排序等准备工作放在Tester内部还是外部呢?
    • 经过老师的演示,我在两个测试用例内部建立了测试实例,并调用sort函数对实例进行排序。
    • 最终完成了任务,但是由于自己平时是在虚拟机里编写代码,idea中目录结构与虚拟机中的不同,时间紧迫没有在idea中clone自己的项目,也没有把代码粘贴到虚拟机里。所以最终未能将代码及时推到码云上。

    代码

    //前面的代码就是实验二中StringBufferTest的代码,与本实践无关,所以省略
    @Test
        public void StringTester() {
            String string="aa:30:3:5";
            String[] strings=string.split(":");
            assertEquals(':',string.charAt(2));
            assertEquals("30",strings[1]);
        }
        @Test
        public void ArraysTester() {
            int[] arr={1,2,5,4};
            Arrays.sort(arr);
            assertEquals(5,arr[3]);
            assertEquals(1,binarySearch(arr,2));
        }
    

    码云链接

    从Windows的IDEA里复制到虚拟机中的代码格式上看着有点别扭,所以还是把完整代码写在这里方便老师检查。

    import junit.framework.TestCase;
    import org.junit.Test;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.List;
    
    import static java.util.Arrays.binarySearch;
    import static org.junit.Assert.*;
    
    /**
     * Created by dell1 on 2017/4/20.
     */
    public class StringBufferDemoTest extends TestCase {
    
        StringBuffer string1 = new StringBuffer("Beautiful");
        StringBuffer string2 = new StringBuffer("Beautiful Girls");
        StringBuffer string3 = new StringBuffer("Beautiful Girls and Boys");
    
    
    
        @Test
        public void testCharAt(){
            assertEquals('a',string1.charAt(2));
            assertEquals(' ',string2.charAt(9));
            assertEquals('a',string3.charAt(16));
        }
        @Test
        public void testCapacity(){
            assertEquals(25,string1.capacity());
            assertEquals(31,string2.capacity());
            assertEquals(40,string3.capacity());
        }
        @Test
        public void testindexOf() {
            assertEquals(1, string3.indexOf("ea"));
        }
        @Test
        public void testlength() {
            assertEquals(9, string1.length());
        }
        @Test
        public void StringTester() {
            String string="aa:30:3:5";
            String[] strings=string.split(":");
            assertEquals(':',string.charAt(2));
            assertEquals("30",strings[1]);
        }
        @Test
        public void ArraysTester() {
            int[] arr={1,2,5,4};
            Arrays.sort(arr);
            assertEquals(5,arr[3]);
            assertEquals(1,binarySearch(arr,2));
        }
    
    }
    

    截图

    收获

    通过这次实践以及对本篇博客的撰写,我再一次学习了老师Intellj IDEA 简易教程中的单元测试部分,对于一些稍有遗忘的知识又加深了印象,最重要的是能够更为灵活的使用单元测试。

  • 相关阅读:
    461. Hamming Distance
    Myeclipse中WebServlet cannot be resolved to a type报错
    注解方式配置Servlet(Servlet3.0)
    Oracle连接池操作
    最短路径算法
    编写学生类Stu
    编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。
    货物管理系统
    c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)
    shut
  • 原文地址:https://www.cnblogs.com/zjy1997/p/6841328.html
Copyright © 2011-2022 走看看