• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • JUnit及其相關的單元測試技術(2)

    發表于:2015-09-21來源:uml.org.cn作者:不詳點擊數: 標簽:junit
    ★ @Ignore:忽略的測試方法,標注的含義就是某些方法尚未完成,暫不參與此次測試;這樣的話測試結果就會提示你有幾個測試被忽略,而不是失敗。一旦你

      ★ @Ignore:忽略的測試方法,標注的含義就是“某些方法尚未完成,暫不參與此次測試”;這樣的話測試結果就會提示你有幾個測試被忽略,而不是失敗。一旦你完成了相應函數,只需要把@Ignore標注刪去,就可以進行正常的測試。

      ★ @BeforeClass:針對所有測試,只執行一次,且必須為static void;

      ★ @AfterClass:針對所有測試,只執行一次,且必須為static void;

      所以一個Junit 4 的單元測試用例執行順序為:@BeforeClass –> @Before –> @Test –> @After –> @AfterClass;每一個測試方法的調用順序為:@Before –> @Test –> @After。

      如下面例子:

      import static org.junit.Assert.*; import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Ignore;import org.junit.Test; public class JUnit4Test {

      @Before

      public void before() {

      System.out.println("@Before");

      }

      @Test

      public void test() {

      System.out.println("@Test");

      assertEquals(5 + 5, 10);

      }

      @Ignore

      @Test

      public void testIgnore() {

      System.out.println("@Ignore");

      }

      @Test(timeout = 50)

      public void testTimeout() {

      System.out.println("@Test(timeout = 50)");

      assertEquals(5 + 5, 10);

      }

      @Test(expected = ArithmeticException.class)

      public void testExpected() {

      System.out.println("@Test(expected = Exception.class)");

      throw new ArithmeticException();

      }

      @After

      public void after() {

      System.out.println("@After");

      }

      @BeforeClass

      public static void beforeClass() {

      System.out.println("@BeforeClass");

      };

      @AfterClass

      public static void afterClass() {

      System.out.println("@AfterClass");

      };

      };

      右擊測試類,選擇Junit運行……

      輸出結果如下:

      @BeforeClass

      @Before

      @Test(timeout = 50)

      @After

      @Before

      @Test(expected = Exception.class)

      @After

      @Before

      @Test

      @After

      @AfterClass

      在eclipse中junit運行結果視圖中可以看到testIgnore是被忽略的,沒有執行;還有其中有一個方法運行報錯。

      2. 使用HttpUnit進行Web應用測試:

      上面我們介紹Junit是對應用程序代碼的片段做測試,那么如何對Web應用進行測試呢?這就需要我們了解HttpUnit了。

      2.1 什么是HttpUnit:

      HttpUnit是SourceForge下面的一個開源項目,它是基于Junit的一個測試框架,主要關注于測試Web應用,解決使用 Junit框架無法對遠程Web內容進行測試的弊端。HttpUnit通過模擬瀏覽器的行為,處理頁面框架(frames),cookies頁面跳轉 (redirects)等。通過HttpUnit提供的功能,你可以和服務器端進行信息交互,將返回的網頁內容作為普通文本、XML Dom對象或者是作為鏈接、頁面框架、圖像、表單、表格等的集合進行處理。HttpUnit還提供了一個模擬Servlet容器,讓你可以不需要發布 Servlet,就可以對Servlet的內部代碼進行測試。

      2.2 如何使用HttpUnit:

      到HttpUnit的主頁http://httpunit.sourceforge.net下載最新的包文件,解壓后將%httpunit_home%/lib/*.jar; %httpunit_home%/jars/*.jar加入到Eclipse工程的Java build Path變量中。

      2.3 如何使用HttpUnit和Junit編寫Web應用的測試用例:

      在HttpUnit框架中,WebConversation類是最重要的類,它用于模擬瀏覽器的行為,WebRequest類用于模仿客戶請求,通過它可以向服務器發送信息,WebResponse類用于模擬瀏覽器獲取服務器端的響應信息。

      下面我們用HttpUnit編寫一個測試用例,測試在百度里面搜索“誠毅軟件”,搜索結果里面有沒有包含“我們努力使事情更簡單”的內容。

      在Eclipse中運行結果中可見在百度里面搜索“誠毅軟件”,搜索結果里面有包含“我們努力使事情更簡單”的內容。

      3. 使用EclEmma進行覆蓋測試

      3.1 什么是覆蓋測試

    原文轉自:http://www.uml.org.cn/Test/201001217.asp

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>