20155213 第十三周课堂博客

20155213 第十三周课堂博客

第一题

  • 题目——教材代码检查

  • 在IDEA中对P145 MathTool.java 使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况。

  • 提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

  • 测试代码

import junit.framework.TestCase;
import org.junit.Test;

/**
 * Created by 联想 on 2017/5/17.
 */
public class MathToolTest extends TestCase {
    int[]c={1,2,4,6};
    @Test
    public  void testNumber1(){
        MathTool a=new MathTool();
        assertEquals(13,a.sum(c));
    }
    @Test
    public  void testNumber2(){

        assertEquals((int)12,MathTool.sum(12,9,7));
    }
    @Test
    public  void testNumber3(){

        assertEquals((int)19,MathTool.sum(12,7));
    }

}
  • 运行截图

第二题

  • 题目——类定义

  • 设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter。定义至少三个构造方法,接收并初始化这些数据。覆盖(Override)toString方法,返回良好的含有多行的书的描述信息。覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书是一样的。

  • 创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。

  • 提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

  • 源代码

/**
 * Created by 联想 on 2017/5/13.
 */
import java.lang.String;
public class Book {
    String Name;
    String Author;
    String publicplace;
    String publicTime;

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getAuthor() {
        return Author;
    }

    public void setAuthor(String author) {
        Author = author;
    }

    public String getPublicplace() {
        return publicplace;
    }

    public void setPublicplace(String publicplace) {
        this.publicplace = publicplace;
    }

    public String getPublicTime() {
        return publicTime;
    }

    public void setPublicTime(String publicTime) {
        this.publicTime = publicTime;
    }

    @Override
    public String toString() {
        return "String1{" +
                "Name='" + Name + '\'' +
                ", Author='" + Author + '\'' +
                ", publicplace='" + publicplace + '\'' +
                ", publicTime='" + publicTime + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Book)) return false;

        Book string1 = (Book) o;

        if (!getName().equals(string1.getName())) return false;
        if (!getAuthor().equals(string1.getAuthor())) return false;
        if (!getPublicplace().equals(string1.getPublicplace())) return false;
        return getPublicTime().equals(string1.getPublicTime());

    }

    @Override
    public int hashCode() {
        int result = getName().hashCode();
        result = 31 * result + getAuthor().hashCode();
        result = 31 * result + getPublicplace().hashCode();
        result = 31 * result + getPublicTime().hashCode();
        return result;
    }
}

  • 测试代码
/**
 * Created by lzm on 2017/5/17.
 */
public class Bookself {
    public static void main(String[] args) {
        Book book1=new Book();
        Book book2=new Book();
        Book book3=new Book();
        book1.setName("Java程序设计");
        book1.setAuthor("lin");
        book1.setPublicplace("taiwan");
        book1.setPublicTime("2015");
        book2.setName("Android开发");
        book2.setAuthor("Xinghuo");
        book2.setPublicplace("neilu");
        book2.setPublicTime("2017");
        book3.setName("Java程序设计");
        book3.setAuthor("lin");
        book3.setPublicplace("taiwan");
        book3.setPublicTime("2015");
        System.out.println(book1.toString());
        System.out.println(book2.toString());
        System.out.println(book3.toString());
        System.out.println(book1.equals(book2));
        System.out.println(book3.equals(book1));
    }
}


  • 运行截图

课后问题总结

  • 问题:第一题出现了前所未有的问题就,就是No Test Found,从而导致的无法测试成功
  • 问题解决
  • 解法其实很简单,就是在Number1()前加上test

感想

  • 像今天出现的问题,其实是有点小儿科的,也就是一个小细节,平时没有注意到,今天出现了,结果弄得自己手足无措。这是一个需要时刻记住的教训,细节很重要。今后学习,不能在囫囵吞枣,不求甚解了,每一步骤都要搞明白,搞透彻,然后在进行下一步学习。

Mathtool码云链接

Book码云链接

20155213 第十二周单元测试博客

posted on 2017-05-17 10:34  20155213陆忠民  阅读(354)  评论(0编辑  收藏  举报