網頁

2014年2月5日 星期三

TestNG使用Eclipse建立Test Case

除了JUnit可以進行單元測試外,還可以使用TestNG來撰寫Test Case,這是另一種測試Framework,它是為更廣泛的測試場合而設計,可以運行在沒有修改過的JUnit測試,除非看到它們的import,否則幾乎感覺不到它們的差異。




  1. Eclipse需安裝Plugin,TestNG for Eclipse
  2. Update site: http://beust.com/eclipse
  3. Eclipse -> Help -> Install New Software... -> Work with -> 貼上Update site -> Add
  4. 勾選後下一步到底,即可完成安裝。







Eclipse -> File -> New -> Java Project

建立1個Java專案或Maven專案後,在package上點右鍵,會出現選單,New ->Other。





  1. Name:打上你要取的class名稱,如:TestNGTest,慣例上是以Test結尾。
  2. 要自動產生哪些method,全選或都不選都可,產生後還是可以刪除。
  3. 按下Finish,這樣就完成了1支Test Case Class。





  1. beforeClass(),class初始化之後調用,用來作測試的準備工作。
  2. afterClass(),class結束之前調用,用來作測試的清理工作。
  3. beforeMethod() ,在測試method前調用,用來作測試的準備工作
  4. afterMethod() 在測試method後調用,用來作測試的清理工作。

package org.openyu.java.testng;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;

/**
 * The Class TestNGTest.
 */
public class TestNGTest {

 /**
  * Test.
  */
 @Test
 public void test() {
  System.out.println("---------------------------");
  System.out.println("test java.openyu.org");
  System.out.println("---------------------------");
 }

 /**
  * Before method.
  */
 @BeforeMethod
 public void beforeMethod() {
 }

 /**
  * After method.
  */
 @AfterMethod
 public void afterMethod() {
 }

 /**
  * Before class.
  */
 @BeforeClass
 public void beforeClass() {
 }

 /**
  * After class.
  */
 @AfterClass
 public void afterClass() {
 }
}






Mix在test()上點右鍵,會出現選單,Run As-> TestNGTest,就可執行了。

或是用熱鍵按下Alt+Shift+X,再按一下N,一樣可執行。




console查看其結果。

[TestNG] Running:
  C:\Users\OpenYu\AppData\Local\Temp\testng-eclipse--362273163\testng-customsuite.xml

---------------------------
test java.openyu.org
---------------------------
PASSED: test

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

[TestNG] Time taken by org.testng.reporters.EmailableReporter2@744a6cbf: 416 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@6fb000e7: 255 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@939b78e: 673 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@1cb8deef: 356 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@f01a1e: 2632 ms



沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...