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


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

    目的

    -老师主要想让我们知道如何检查自己的代码有无bug。让我们掌握如何测试自己的代码。TDD一种很重要的方式

    题目

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

    • String类

      • charAt
      • split
    • Arrays类

      • sort
      • binarySearch
    • 提交运行结果截图和码云代码链接,截图没有水印的需要单独找老师验收才有成绩

    原代码(实验二中StringBufferTest的代码)
    public class StringBufferDemo{
        StringBuffer buffer = new StringBuffer();
        public StringBufferDemo(StringBuffer buffer){
            this.buffer = buffer;
        }
        public Character charAt(int i){
            return buffer.charAt(i);
        }
        public int capacity(){
            return buffer.capacity();
        }
        public int length(){
            return buffer.length();
        }
        public int indexOf(String buf) {
            return buffer.indexOf(buf);
        }
    }
    
    测试代码
    import junit.framework.TestCase;
    import org.junit.Test;
    
    import static org.junit.Assert.*;
    
    /**
     * Created by Administrator on 2017/4/21 0021.
     */
    public class StringBufferDemoTest extends TestCase {
        StringBuffer a = new StringBuffer("StringBuffer");//测试12个字符(<=16)
        StringBuffer b = new StringBuffer("StringBufferStringBuffer");//测试24个字符(>16&&<=34)
        StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer");//测试36个字符(>=34)
        @Test
        public void testcharAt() throws Exception{
            assertEquals('S',a.charAt(0));
            assertEquals('g',a.charAt(5));
            assertEquals('r',a.charAt(11));
        }
        @Test
        public void testcapacity() throws Exception{
            assertEquals(28,a.capacity());
            assertEquals(40,b.capacity());
            assertEquals(52,c.capacity());
        }
        @Test
        public void testlength() throws Exception{
            assertEquals(12,a.length());
            assertEquals(24,b.length());
            assertEquals(36,c.length());
        }
        @Test
        public void testindexOf() throws Exception{
            assertEquals(0,a.indexOf("Str"));
            assertEquals(5,a.indexOf("gBu"));
            assertEquals(10,a.indexOf("er"));
        }
    }
    
    运行截图

    代码托管

    收获

    本次补交实验过程中解决了长期以来的idea中的问题

    解决办法如下

    1.点击工具栏的File按钮----》project structure(或者选中project按键盘的F4)打开项目结构面板。

    2.点击Project Settings 下的Project,在Project compiler output中点击最右边的 ... 指定你的项目目录下的output文件夹(如果你的目录下没有,自己手动创建一个),然后点ok确定项目配置即可。

    实验感想:

    重温此次实践,对代码有了深刻认识,能模仿代码做一些修改,看懂代码作用,意义。对实验二和此次实验两次,对TDD 做了一些很好的诠释。伪代码到产品代码的路还很长,不仅仅是一个TDD,还需要大量的基础知识,和大量的代码行数。

  • 相关阅读:
    函数获取常用路径 SHGetSpecialFolderLocation、SHGetPathFromIDList
    [转载]Delphi线程池(Delphi2009以上版本适用)
    给 System.Zip 增长了个(多文件解压时的)解压进度事务
    sql操蛋的孤独账号。
    不错的几个jq控件
    jquery的跨域访问
    MVC3中输出Html标签的方法
    MVC_HtmlHelper用法大全
    execute sp_executesql 用变量获取返回值
    Asp.Net MVC中的RenderPartial 和 RenderAction
  • 原文地址:https://www.cnblogs.com/hpl20155329/p/6924897.html
Copyright © 2020-2023  润新知