Just want to share a good example of how to do unit test, Charles have done all unit test cases for CA modules and they are very professional, below is a snippet of one case.

 

So let’s do it the same way, this will make us more professional.

  1. /** 
  2.  
  3.    * Test method for {@link com.bleum.canton.ca.category.dao.impl.CategoryDao#updateCategory(com.bleum.canton.ca.category.entity.Category)}. 
  4.  
  5.    */ 
  6.  
  7.   @Test 
  8.  
  9.   public void testUpdateCategory() { 
  10.  
  11.       assertTrue(applicationContext !=null); 
  12.  
  13.       assertTrue (categoryDao !=null); 
  14.  
  15.       
  16.  
  17.       //create a root category 
  18.  
  19.       Category rootCat = new Category(); 
  20.  
  21.       rootCat.setCategoryCode("rootCat1234567"); 
  22.  
  23.       rootCat.setCategoryName("TestRootCategory"); 
  24.  
  25.       rootCat.setStatus(1); 
  26.  
  27.       rootCat.setLevel(1); 
  28.  
  29.       rootCat.setVersion(0.1f); 
  30.  
  31.       rootCat.setCreatedBy("charles.wang"); 
  32.  
  33.       rootCat.setLastModifiedBy("charles.wang"); 
  34.  
  35.       rootCat.setParentID("0"); 
  36.  
  37.       Timestamp today = new Timestamp(System.currentTimeMillis());        
  38.  
  39.       rootCat.setCreatedDate(today  ); 
  40.  
  41.       rootCat.setLastModifiedDate(today); 
  42.  
  43.            
  44.  
  45.       
  46.  
  47.       //add this category 
  48.  
  49.       categoryDao.addCategory(rootCat); 
  50.  
  51.       
  52.  
  53.       
  54.  
  55.  
  56.  
  57.       //get the category that we need to update 
  58.  
  59.       Category needToUpdateCategory =categoryDao.findCategoryByCategoryCode("rootCat1234567"); 
  60.  
  61.       assertNotNull(needToUpdateCategory); 
  62.  
  63.  
  64.  
  65.       //////////////////////////////////// 
  66.  
  67.       //the method that needs to be tested 
  68.  
  69.       
  70.  
  71.       //we update this category 
  72.  
  73.       needToUpdateCategory.setCategoryName("TestRootCategoryRename"); 
  74.  
  75.       categoryDao.updateCategory(needToUpdateCategory); 
  76.  
  77.       
  78.  
  79.       //to conclusion whether the category has been updated 
  80.  
  81.       Category afterUpdatedCategory =categoryDao.findCategoryByCategoryCode("rootCat1234567"); 
  82.  
  83.       assertNotNull(afterUpdatedCategory); 
  84.  
  85.       String newCategoryName = afterUpdatedCategory.getCategoryName(); 
  86.  
  87.       assertTrue("TestRootCategoryRename".equals(newCategoryName)); 
  88.  
  89.  
  90.  
  91.       //remove this test category from the database 
  92.  
  93.       categoryDao.delCategoryByCategoryCode("rootCat1234567"); 
  94.  
  95.   }