JAVA API 学习笔记——Unit Test and StringBuilider


一、Junit是什么?

JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:

1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器

二、脱离Main()测试,模块化概念的提出:

不再在main()函数中进行测试,main()函数中使用更少的方法,尽量不出现条件语句。

示例如下:

package com.geogle;

public class Main {
    public static void main(String[] args) {
        run();
    }

    private static void run() {
        System.out.println("========Calc========");
        System.out.println(Calc.Sum(10, 20));
        System.out.println(Calc.Subtraction(20, 10));
    }
}

三、Assert断言:

利用Junit框架,使用assert方法来模块化测试各个方法

如Assert.assertEquals(int expected, int actual)

示例如下(示例):

先定义一个Calc类:

package com.geogle;

public class Calc {
    public static int Sum(int numA,int numB){
        return numA + numB;
    }

    public static int Subtraction(int numA,int numB){
        return numA - numB;
    }

}

再利用一个CalcTest类来测试Clac中的各个方法是否有效:

package com.geogle;

import org.junit.Assert;
import org.junit.Test;

import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

public class CalcTest {
@Test
    public void sum(){
    int numA = new Random().nextInt(10);
    int numB = new Random().nextInt(10);
    int sum = Calc.Sum(numA,numB);
    Assert.assertEquals(numA+numB,sum);
}
    @Test
    public void subtraction(){
        int numA = ThreadLocalRandom.current().nextInt(0,20);
        int numB = ThreadLocalRandom.current().nextInt(0,20);
        int result = Calc.Subtraction(numA,numB);
        Assert.assertEquals(numA-numB,result);
    }

}

运行结果:
在这里插入图片描述

四、StringBuilder类:

1.String的存在:

在这里插入图片描述
当s1重新被赋予为s1+s2时,实际上s1指向的内容并非是被修改,而是将s1+s2放在另一处内存。

String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

2. StringBuilder类:

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
在这里插入图片描述

package com.geogle;
import java.lang.StringBuilder;
import org.junit.Test;

public class StringBuilderTest {
    @Test
    public void demo() {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("hello");
        stringBuilder.append(" world");
        System.out.println(stringBuilder);

        stringBuilder.trimToSize();     //除去多余未占用内存
        System.out.println(stringBuilder);
    }
}

输出:
hello world
hello world
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值