年初做了简单的单元测试,作为初学者,自己还有很多需要注意与提高的地方,现在进行问题记录,帮助自己沉淀知识。
1、重新构造方法时,一定要保留无参构造方法,因为很多工具类在实现其功能时需要调用其基本构造方法。
2、Interger和int,.equals方法。
3、getField方法只能拿public成员变量,getDeclaredField可以拿所有变量。
4、隐式转换和显式转换及强制转换的区别
参考链接 http://blog.csdn.net/cxzhq2002/article/details/1505302
stringstrType = "123";
object objType= (object)strType;//可以不要,隐式转换,要的为显式转换
string strType2 = (string)objType; //必须要,显式转换
intintType = (int)strType; //错误,不能通过编译
int intType = (int)objType; //错误,能通过编译
intintType = Convert.ToInt32(objType); //正确, 强制转换
int intType = int.Parse(strType); //正确, 强制转换
int intType = int.Parse(objType); //错误,不能通过编译。
5、assertEquals(String, int,Integer)会出现歧义,暂未解决
6、注意命名规范,如:方法名相同,参数不同时,可将测试方法命名为testSetVal_SetInteger。
7、内部类长度为1(因为有指针),而放到外部就为0了。
8、有的方法需要某一参数(如Class<T>classType),而该参数在方法中并未使用,实际上是因为可能改方法的返回值类型为T,该参数决定了此返回类型,所以该参数是有用的。
9、测试用例写在src/test/java目录下,不要写在src/main/java目录中。