.Net转Java自学之路—基础巩固篇二十三(junit、enum、静态导入)

时间:2022-12-13 19:52:50

junit:单元测试

  测试对象是一个类中的方法。junit 不是JavaSE的一部分,使用时需要导入 jar 包;但开发工具自带了 junit 的 jar 包。

  单元测试方法命名规范:

public void 方法名(){
    //Code...
}

    单元测试方法不能带有任何参数。在单元测试中需要使用注解方式运行测试方法。在方法上方加 @Test 

    @Test:进行单元测试。

    @Ignore:当前方法不进行单元测试。

    @Before:在每个方法之前运行。

    @After:在每个方法之后运行。

    断言:在单元测试方法体中使用,测试期望值和实际值是否相同。

      Assert.assertEquals("测试期望值","方法运行实际值");

  运行:

    选中方法名称,右击运行 单击 run as --> junit test

    运行类中的多个测试方法,不选任何方法右击 run as --> junit test

enum

  枚举:不需要在一定的范围内取值,这个值只能是这个范围内的一人一个。

  实例:

enum EnumName{
    RED,GREEN,YELLOW;
}

  枚举的构造方法是私有的。

  特殊的枚举操作:

    在枚举类中存在构造方法:

      构造方法中含有参数,那么需要在每个实例上都写参数。

实例:

enum EnumName{
    RED(""),GREEN(""),YELLOW("");
    private EnumName(String str){
    
    }
}

    在枚举类中存在抽象方法:

      在枚举的每个实例中都需要重写该抽象方法。

实例:

enum EnumName{
    RED("param"){
        public void method(){
            //Code...
        }
    },GREEN("param"){
        public void method(){
            //Code...
        }
    },YELLOW("param"){
        public void method(){
            //Code...
        }
    };
    private EnumName(String str){ }
    public abstract void method();
}

    操作:

      name();  返回枚举名称

      ordinal();  枚举的下标,下标从0开始

      valueOf(Class<T> enumType,String name);  返回枚举对象

      valueOf(String name);  转换枚举对象

      values();  获取所有枚举对象数组

实例:

//由枚举对象获取名称和下标
EnumName en=EnumName.RED;
String name=en.name();
int idx=en.ordinal();

//由名称获取枚举对象和下标
EnumName ens=EnumName.valueOf(name);
int idxs=ens.ordinal();

//由下标获取枚举对象和名称
int i=1;
EnumName[] enlist=EnumName.values();
EnumName eni=enlist[i];
String name=eni.name();

静态导入

  可以在代码中直接使用静态导入方式导入静态方法或常量。

  import static xx.xx.xx