TestNG raporlarını ya da çıktılarını özelliştirmek için kullanılan bir interface. 12 tane listener bulunmakta.
- IAnnotationTransformer ,
- IAnnotationTransformer2 ,
- IConfigurable ,
- IConfigurationListener ,
- IExecutionListener,
- IHookable ,
- IInvokedMethodListener ,
- IInvokedMethodListener2 ,
- IMethodInterceptor ,
- IReporter,
- ISuiteListener,
- ITestListener
Herhangi bir listener kullanılmak istenildiğinde, bunu yapmanın çoğunlukla kullanılan iki yolu vardır.
İlki; ilgili listener'ı implement edecek class'ı oluşturmak gerekir. Class'ın içine kullandığınız IDE ilgili listener'ın fonksiyonları getirir. Kullanmak istediklerinize kodunuzu eklersiniz.
Daha sonra ise asıl test kodunuzun olduğu class koduna, class kısmından önce @Listeners(paketIsmi.listenerSınıfınınAdi.class) eklemesi yapmanız gerekir.
Diğeri ise, eğer bu listener'i birden fazla sınıf için kullanacaksanız bu yolu kullanmanız gerekir karışıklığı önlemek için, o da testng.xml'de önceki maddede belirtilen listener sınıfını test etiketinden önce belirtmeniz gerekir.
<listeners>
<listener class-name"paketismi.sinifismi"/>
</listeners>
TestNG Listener'larından ITestListener'ın fonksiyonları bakacak olursak:
OnStart- herhangi bir test başlatılırsa çağrılır.
onTestSuccess- herhangi bir test başarılı olursa çağrılır.
onTestFailure- herhangi bir test başarısız olursa çağrılır.
onTestSkipped- herhangi bir test atlanırsa çağrılır.
onTestFailedButWithinSuccessPercentage-başarı yüzdesinde olup başarısız olan metodda çağrılır.
onFinish- bütün testler çalıştıktan sonra çağrılır.
Yorumlar
Yorum Gönder