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