有關測試覆蓋的文章怎么能缺少測試案例呢?在清單 3 中,我定義了一個簡單的有三個測試案例的 JUnit 測試類,它將試圖執行 Hierarchy
類和 HierarchyBuilder
類:
package test.com.vanward.adana.hierarchy; import com.vanward.adana.hierarchy.Hierarchy; import com.vanward.adana.hierarchy.HierarchyBuilder; import junit.framework.TestCase; public class HierarchyBuilderTest extends TestCase { public void testBuildHierarchyValueNotNull() { Hierarchy hier = HierarchyBuilder.buildHierarchy(HierarchyBuilderTest.class); assertNotNull("object was null", hier); } public void testBuildHierarchyName() { Hierarchy hier = HierarchyBuilder.buildHierarchy(HierarchyBuilderTest.class); assertEquals("should be junit.framework.Assert", "junit.framework.Assert", hier.getHierarchyClassNames()[1]); } public void testBuildHierarchyNameAgain() { Hierarchy hier = HierarchyBuilder.buildHierarchy(HierarchyBuilderTest.class); assertEquals("should be junit.framework.TestCase", "junit.framework.TestCase", hier.getHierarchyClassNames()[0]); } } |
因為我是一個狂熱的測試人員,我自然希望運行一些覆蓋測試。對于 Java 開發人員可用的代碼覆蓋工具中,我比較喜歡用 Cobertura,因為它的報告很友好。而且,Corbertura 是開放源碼項目,它派生出了 JCoverage 項目的前身。
運行 Cobertura 這樣的工具和運行您的 JUnit 測試一樣簡單,只是有一個用專門邏輯在測試時檢查代碼以報告覆蓋率的中間步驟(這都是通過工具的 Ant 任務或 Maven 的目標完成的)。
文章來源于領測軟件測試網 http://www.kjueaiud.com/