}
public void testBuildHierarchyStrNameAgain() throws Exception{
Hierarchy hier =
HierarchyBuilder.
buildHierarchy("test.com.vanward.adana.hierarchy.HierarchyBuilderTest");
assertEquals("should be junit.framework.TestCase",
"junit.framework.TestCase",
hier.getHierarchyClassNames()[0]);
}
public void testBuildHierarchyStrSize() throws Exception{
Hierarchy hier =
HierarchyBuilder.
buildHierarchy("test.com.vanward.adana.hierarchy.HierarchyBuilderTest");
assertEquals("should be 2", 2, hier.getHierarchyClassNames().length);
}
public void testBuildHierarchyWithNull() {
try{
Class clzz = null;
HierarchyBuilder.buildHierarchy(clzz);
fail("RuntimeException not thrown");
}catch(RuntimeException e){}
}
}
當我使用新的測試案例再次執行測試覆蓋過程時,我得到了如圖 2 所示的更加完整的報告,F在,我覆蓋了未測試的 buildHierarchy() 方法,也處理了另一個 buildHierarchy() 方法中的兩個 if 塊。然而,因為 HierarchyBuilder 的構造器是 private 類型的,所以我不能通過我的測試類測試它(我也不關心)。因此,我的行覆蓋率仍然只有 88%。
圖 2. 誰說沒有第二次機會
文章來源于領測軟件測試網 http://www.kjueaiud.com/