junit in java 真正的测试用例实战!
(1)首先对于开发人员来说大大减少调试工作的时间,同时也规范了对于代码安全管理(我们知道那些方法是可以调用的);
(2)对于整个项目来说,有了完整的测试,保证项目最后交付测试有了可靠依据;
(3)对于测试人员大大减少bug的反馈;
(4)对于项目经理整个项目达到很好的可控;
(5)最主要的完整的单元测试给后期维护人员带来很大的便捷!
单元测试好处可能还有很多,但本人只能理解和感悟这么多 , 希望观者补充!*Copyrightreserved2005byXXXXCo.Ltd.
*Author:XXXDate:2006-9-4
*/
importjunit.framework.TestCase;
/**
*@authorXXX
*/
publicclassOrgTypeDAOTestextendsTestCase{
/**
*@paramarg0
*/
publicOrgTypeDAOTest(Stringarg0){
super(arg0);
}
/**
*@seejunit.framework.TestCase#setUp()
*/
protectedvoidsetUp()throwsException{
super.setUp();
}
/**
*@seejunit.framework.TestCase#tearDown()
*/
protectedvoidtearDown()throwsException{
super.tearDown();
}
/**
*主函数
*@paramargs
*/
publicstaticvoidmain(String[]args){
TestRunner.run(OrgTypeDAOTest.class);
}
/**
*{@linkOrgTypeDAO#getOrgTypeList()}的测试方法。
*/
publicfinalvoidtestGetOrgTypeList(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#insertOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)}的测试方法。
*/
publicfinalvoidtestInsertOrgTypeInfo(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#deleteOrgTypeInfo(java.lang.String)}的测试方法。
*/
publicfinalvoidtestDeleteOrgTypeInfo(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#updateOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)}的测试方法。
*/
publicfinalvoidtestUpdateOrgTypeInfo(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#getOrgTypeInfoById(java.lang.String)}的测试方法。
*/
publicfinalvoidtestGetOrgTypeInfoById(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#isRepeatOrgTypeInfo(java.lang.String)}的测试方法。
*/
publicfinalvoidtestIsRepeatOrgTypeInfoString(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#isRepeatOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)}的测试方法。
*/
publicfinalvoidtestIsRepeatOrgTypeInfoOrgTypeVO(){
fail("尚未实现");//TODO
}
/**
*{@linkOrgTypeDAO#getFlatOrgIdByName(java.lang.String)}的测试方法。
*/
publicfinalvoidtestGetFlatOrgIdByName(){
fail("尚未实现");//TODO
}
}
常用断言方法 | |
assertEquals("失败提示信息","期望数据","测试数据") | 断言获取数据是否与所期望的相等 |
assertNotNull("失败提示信息","测试数据") | 断言获取数据不为null,否则提示错误 |
assertNull("失败提示信息","测试数据") | 断言获取数据是为null,否则提示错误 |
assertTrue("失败提示信息",测试数据blooean值) | 断言获取数据是否为ture,否则提示错误 |
fail("失败提示信息"); | 此方法一般放到异常处,遇到此方法,测试将停止! |
assertSame("失败提示信息","期望数据","测试数据") | 断言获取数据是否与所期望的相同 |
importjunit.textui.TestRunner;
//import com.zhjy.mock.SpringMock;*举例测试类
*/
public class OrgTypeDAOTest extends TestCase { //(1)继承TestCase//privateOrgTypeVOorgTypeVO;
//privateStringid;
/**
*构造方法
*@paramarg0
*/
publicOrgTypeDAOTest(Stringarg0){
super(arg0);
}
/**
*初时化方法
*@seejunit.framework.TestCase#setUp()
*/
protectedvoidsetUp()throwsException{
super.setUp();
//测试初始话数据调用类orgTypeDAO和封装数据的对象orgTypeVO
}*@seejunit.framework.TestCase#tearDown()
*/
protectedvoidtearDown()throwsException{
//清空对象;==null
//orgTypeDAO=null;
//orgTypeVO=null;
super.tearDown();
}
/**
*主函数
*@paramargs
*/
public static void main(String[] args){}
/**
*测试方法
*TestmethodtestOrgTypeInfo
*/
publicvoidtestOrgTypeInfo(){
//添加
Stringid=insertOrgTypeInfo();
//列表
orgTypeList();
//修改
updateOrgTypeInfo(id);
//查询
selectOrgTypeInfoById(id);
//校验
iExistOrgByOrgTypeId(id);
//测试是否重复数据方法(add)
isRepeatOrgTypeInfo(orgTypeVO.getName(),"");
//获取数据方法(根据名称)
selectOrgTypeIdByName(orgTypeVO.getName());
//删除
deleteOrgTypeInfo(id);
}
/**
*添加初始数据
*/
privatevoidsetOrgTypeVOAddInfo(){
orgTypeVO.setName("add中海测试");
orgTypeVO.setDescription("add中海测试");
orgTypeVO.setStatus("1");
}
/**
*添加初始数据
*/
privatevoidsetOrgTypeVOUpdateInfo(){
//orgTypeVO.setId(id);
orgTypeVO.setName("add中海测试");
orgTypeVO.setDescription("update中海测试");
orgTypeVO.setStatus("1");
}
/**
*新增方法
*Testmethodfor{@linkOrgTypeDAO#insertOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)}.
*/
publicStringinsertOrgTypeInfo(){
setOrgTypeVOAddInfo();
Stringid=null;
try{
id=orgTypeDAO.insertOrgTypeInfo(orgTypeVO);
}catch(Exceptione){
fail("添加通用组织机构失败!");
}
returnid;
}
/**
*更新方法
*Testmethodfor{@linkcom.zhjy.mltx.dao.OrgTypeDAO#updateOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)}.
*/
publicvoidupdateOrgTypeInfo(Stringid){
setOrgTypeVOUpdateInfo();
orgTypeVO.setId(id);
try{
orgTypeDAO.updateOrgTypeInfo(orgTypeVO);
}catch(Exceptione){
assertTrue("修改通用组织机构失败!",false);
}
//查询
orgTypeVO=orgTypeDAO.selectOrgTypeInfoById(id);
assertEquals("修改通用组织机构失败!",orgTypeVO.getDescription(),"update中海测试");
}
/**
*获取数据方法(主健)
*Testmethodfor{@linkOrgTypeDAO#selectOrgTypeInfoById(java.lang.String)}.
*/
publicvoidselectOrgTypeInfoById(Stringid){
orgTypeVO=orgTypeDAO.selectOrgTypeInfoById(id);
assertTrue("无法查看一条通用机构名称信息!",orgTypeVO!=null);
assertEquals("添加通用组织机构失败!",orgTypeVO.getName(),"add中海测试");
assertEquals("修改通用组织机构失败!",orgTypeVO.getDescription(),"update中海测试");
}*测试此通用组织机构是否被引用
*Testmethodfor{@linkOrgTypeDAO#iExistOrgByOrgTypeId(java.lang.String)}.
*/
publicvoidiExistOrgByOrgTypeId(Stringid){
booleanisfalse;
try{
isfalse=this.orgTypeDAO.iExistOrgByOrgTypeId(id);
assertFalse("通用组织机构校验错误!",isfalse);
}catch(DataAccessExceptione){
assertTrue("通用组织机构数据操作错误!!",false);
}catch(ObjectNotFoundExceptione){
assertTrue("idisnull!!",false);
}
}
/**
*删除
*Testmethodfor{@linkOrgTypeDAO#deleteOrgTypeInfo(java.lang.String)}.
*/
publicvoiddeleteOrgTypeInfo(Stringid){
this.orgTypeDAO.deleteOrgTypeInfo(id);
orgTypeVO=this.orgTypeDAO.selectOrgTypeInfoById(id);
assertNull("删除通用组织机构失败!",orgTypeVO);
}
/**
*获取数据方法(根据名称)
*Testmethodfor{@linkOrgTypeDAO#selectOrgTypeIdByName(java.lang.String)}.
*/
publicvoidselectOrgTypeIdByName(Stringname){
Stringorgtypeid=orgTypeDAO.selectOrgTypeIdByName(name);
//assertEquals(orgtypeid,id);
assertNotNull("未查出来通用组织机构ID!",orgtypeid);
}
/**
*测试是否重复数据方法
*Testmethodfor{@linkOrgTypeDAO#isRepeatOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)}.
*/
publicvoidisRepeatOrgTypeInfo(Stringname,Stringid){
//setOrgTypeVOUpdateInfo();
OrgTypeVOorgtypetest=newOrgTypeVO();
orgtypetest.setId(id);
orgtypetest.setName(name);
booleanisTrue=orgTypeDAO.isRepeatOrgTypeInfo(orgtypetest);
//assertEquals("通用组织机构错误数据",isTrue,false);
assertTrue("通用组织机构错误数据",isTrue);
}
/**
*列表方法
*Testmethodfor{@linkcom.zhjy.mltx.dao.OrgTypeDAO#orgTypeList()}.
*/
publicvoidorgTypeList(){
Listlist=orgTypeDAO.orgTypeList();
assertNotNull("无法获取通用机构名称列表listisnull!",list);
}