TestNG ก็คือ Testing Framework

TestNG ก็คือ Testing Framework เช่นเดียวกับกับ JUnit นั่นเอง

ส่วนประเด็นที่ต่างกันก็คือ

TestNG นำ Annotation(jdk1.5) หรือ javadoc tag(กรณี jdk1.4) เข้ามาใช้
เดิมใน JUnit ตัว testcase จะต้อง extends class TestCase แต่ใน TestNG เราไม่ต้อง extends หรือ               implements อะไรเลยโดยเราจะเปลี่ยนมาใช้ annotation มาเป็นตัวอธิบาย nature ของ testcase แทน

ยกตัวอย่างการเขียน test case ด้วย TestNG

 

  • @Configuration เป็นการบอกให้รู้ว่า method ที่ระบุนั้น ต้องการให้ run เมื่อไร เช่น run ก่อน test method
    หรือ run หลัง test method กรณีนี้ก็คือ เราบอกให้ run method init ก่อนที่ test method testMe ใน SimpleTest จะ run
  • @Test เป็นการบอกให้รู้ว่า method ที่ระบุ เป็น test ที่ต้องการ run โดย parameter group ช่วยให้เราจัดกลุ่ม
    การ test ได้สะดวกขึ้น

ตัวอย่าง

 

     และ run โดยใช้คำสั่ง

  • ความสามารถในการจัดกลุ่มการ test ใน junit เราสามารถจัดกลุ่ม test ได้โดยใช้ suite เข้ามาช่วย แต่ก็มีลักษณะเป็นกลุ่มของ class แต่ใน TestNG เราสามารถจัดกลุ่มได้ละเอียด ถึงขั้น method เลย โดยแต่ละ method สามารถ
    กำหนดกลุ่มที่สังกัดได้มากกว่า 1 กลุ่ม
  • นอกจากนี้ยังสามารถกำหนด กลุ่มของกลุ่ม (group of groups)
    ,partial groups, exclusion groups ในการ test ได้

TestNG สามารถกำหนด parameter ให้กับ Test Method ได้

     ตัวอย่าง

จากนั้นเราก็ระบุ parameter value ใน xml file

 

การกำหนดลำดับของ test method
ใน testNG สามารถกำหนด dependency ของ test method ได้

     ตัวอย่าง

นอกจากกำหนด dependOnGroups ได้แล้ว
ยังกำหนด dependOnMethods ได้อีกด้วย

  • TestNG สามารถกำหนด Factories เพื่อใช้ในการสร้าง TestCase แบบ Dynamic ได้
    ความหมายของ Dynamic ก็คือเราสามารถ instantiate TestCase ขึ้นมาได้หลายๆแบบ ผ่านทาง Factoryclass ที่เราเขียนเอง

     ตัวอย่าง

จากนั้นเมื่อต้องการ run ก็สั่ง run ผ่านทาง TestFactory

เห็นได้ว่าตัว TestNG มี feature ที่น่าสนใจทีเดียวโดยเฉพาะการกำหนด groups และการกำหนด dependencies

Link VDO : (กำลัง Upload)

 

 

Credit : http://testng.org/doc/
Credit : http://phetra.blogspot.com/2005/06/testng.html

  •  
  •  
  •  
  •  
  •  
  •  
เรวัตร ยั่งยืน
at GlurGeek.Com

Leave a Reply