TestNG - Temel Ek Açıklamalar

JUnit 3'te test yöntemlerini belirtmenin geleneksel yolu, adlarının önüne test koymaktır. Bu, bir sınıftaki belirli yöntemleri özel bir anlama sahip olarak etiketlemek için çok etkili bir yöntemdir, ancak adlandırma çok iyi ölçeklenmez (ya farklı çerçeveler için daha fazla etiket eklemek istersek?) Ve oldukça esnek değildir (ya eğer biz test çerçevesine ek parametreler geçirmek ister misiniz?).

Ek açıklamalar JDK 5'te Java diline resmi olarak eklendi ve TestNG, test sınıflarına açıklama eklemek için ek açıklamaları kullanma seçimini yaptı.

İşte TestNG'nin desteklediği ek açıklamalar listesi -

Sr.No. Ek Açıklama ve Açıklama
1

@BeforeSuite

Açıklamalı yöntem, bu paketteki tüm testler çalıştırılmadan önce yalnızca bir kez çalıştırılacaktır.

2

@AfterSuite

Açıklamalı yöntem, bu paketteki tüm testler çalıştırıldıktan sonra yalnızca bir kez çalıştırılacaktır.

3

@BeforeClass

Açıklamalı yöntem, geçerli sınıftaki ilk test yöntemi çağrılmadan önce yalnızca bir kez çalıştırılacaktır.

4

@AfterClass

Açıklamalı yöntem, geçerli sınıftaki tüm test yöntemleri çalıştırıldıktan sonra yalnızca bir kez çalıştırılacaktır.

5

@BeforeTest

Ek açıklamalı yöntem, <test> etiketi içindeki sınıflara ait herhangi bir test yöntemi çalıştırılmadan önce çalıştırılacaktır.

6

@AfterTest

Açıklamalı yöntem, <test> etiketi içindeki sınıflara ait tüm test yöntemleri çalıştırıldıktan sonra çalıştırılacaktır.

7

@BeforeGroups

Bu yapılandırma yönteminin daha önce çalıştıracağı grupların listesi. Bu yöntemin, bu gruplardan herhangi birine ait olan ilk test yöntemi çağrılmadan kısa bir süre önce çalışması garanti edilir.

8

@AfterGroups

Bu yapılandırma yönteminin daha sonra çalışacağı grupların listesi. Bu yöntemin, bu gruplardan herhangi birine ait olan son test yöntemi çağrıldıktan kısa bir süre sonra çalışması garanti edilir.

9

@BeforeMethod

Açıklamalı yöntem, her test yönteminden önce çalıştırılacaktır.

10

@AfterMethod

Açıklamalı yöntem, her test yönteminden sonra çalıştırılacaktır.

11

@DataProvider

Bir yöntemi, bir test yöntemi için veri sağlama olarak işaretler. Açıklamalı yöntem bir Object [] [] döndürmelidir; burada her Object [], test yönteminin parametre listesine atanabilir. Bu DataProvider'dan veri almak isteyen @Test yönteminin, bu ek açıklamanın adına eşit olan bir dataProvider adı kullanması gerekir.

12

@Factory

Bir yöntemi, TestNG tarafından Test sınıfları olarak kullanılacak nesneleri döndüren bir fabrika olarak işaretler. Yöntem Object [] döndürmelidir.

13

@Listeners

Bir test sınıfındaki dinleyicileri tanımlar.

14

@Parameters

@Test yöntemine parametrelerin nasıl aktarılacağını açıklar.

15

@Test

Bir sınıfı veya yöntemi testin bir parçası olarak işaretler.

Ek Açıklamaları Kullanmanın Yararları

Ek açıklamaları kullanmanın avantajlarından bazıları şunlardır -

  • TestNG, ek açıklamalara bakarak ilgilendiği yöntemleri tanımlar. Bu nedenle, yöntem adları herhangi bir model veya formatla sınırlı değildir.

  • Ek açıklamalara ek parametreler aktarabiliriz.

  • Ek açıklamalar güçlü bir şekilde yazılmıştır, bu nedenle derleyici hataları hemen işaretleyecektir.

  • Test sınıflarının artık herhangi bir şeyi genişletmesine gerek yoktur (JUnit 3 için TestCase gibi).