[Bài 4] @Test trong TestNG và các attribute của annotation @Test

Bài trước mình đã giới thiệu các annotation mà TestNG dùng control thứ tự run test, bài này mình sẽ giới thiệu tiếp các annotation còn lại.

I. Annotation @Test:

Đây là annotation đánh dấu method hoặc Class là 1 phần của TestNG Test. Nếu nó được đánh dấu cho Class thì tất cả các Method mà Public thì sẽ được run, các Method không phải public sẽ không được run.

Ví dụ:

II. Các attribute của annotation @Test

  • alwaysRun: có giá trị mặc định là false, nó sẽ bị ignore nếu nó không có dependency method (phụ thuộc) . Nếu đặt là true thì Method sẽ được run kể cả khi các dependency method fail.
    Eg: @Test(alwaysRun=true) 
  • enabled: giá trị mặc định là true. Dùng để đánh dấu method run hoặc không run. Nếu false, method đó sẽ được bỏ qua, không run. Nếu true, method đó sẽ được run.
    Eg: @Test(enabled=true)
  • description: dùng để thêm thông tin cho test. Attribute này khá hiệu quả khi chúng ta muốn thêm mô tả các test case khi mà method Name không thể diễn tả được hết.
    Eg: @Test(description=”Print the second test method”)

  • expectedExceptions: dùng để xác định exception mà Method có thể gặp phải.
    Eg:  @Test(expectedExceptions={IOException.class})
  • timeOut: xác định thời gian tối đa mà test có thể run, nếu thời gian run lớn hơn thời gian đã định sẵn thì kết quả test là fail.
    Eg: @Test(timeOut=500)

  • dataProvider: điền data vào cho test method, phục vụ cho data-driven testing (sẽ viết ở bài khác)
  • dataProviderClass: điền tên class mà TestNG sẽ tìm kiếm data-provider method được nhắc đến ở attribute dataProvider. Mặc định thì nó sẽ tìm ở chính class đó hoặc class base. 
  • dependsOnGroups: điền list các group mà test phụ thuộc.
  • dependsOnMethods: điền list các method mà test phụ thuộc. (sẽ viết ở bài khác)
  • groups: điền tên group, những test mà có chung tên group sẽ tạo thành 1 tập hợp. Tập hợp này có thể được run từ file testng.xml

NOTE:

  • Trong 1 test có thể áp dụng nhiều annotation cùng với nhau. Ví dụ:

  • Ở trong list trên có nhiều Annotation mà cách dùng của chúng phức tạp, mình sẽ viết tách ra thành các bài viết khác nhau để tránh việc bài quá dài, khó theo dõi.

One thought on “[Bài 4] @Test trong TestNG và các attribute của annotation @Test

  1. Pingback: [Bài 3] Cách sử dụng Annotation After/Before trong TestNG | GiangTester Blog

Leave a Reply

Your email address will not be published. Required fields are marked *