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).