TestNG - Testlerin Yürütülmesi
Test senaryoları kullanılarak yürütülür TestNGsınıf. Bu sınıf, TestNG çerçevesindeki testleri çalıştırmak için ana giriş noktasıdır. Kullanıcılar kendi TestNG nesnelerini oluşturabilir ve bunu aşağıdakiler gibi birçok farklı şekilde çalıştırabilir:
Mevcut bir testng.xml üzerinde.
Tamamen Java'dan oluşturulmuş sentetik bir testng.xml üzerinde.
Doğrudan test sınıflarını belirleyerek.
Ayrıca hangi grupları dahil edeceğinizi veya hariç tutacağınızı, parametre atayacağınızı vb. Tanımlayabilirsiniz. Komut satırı parametreleri şunlardır:
-d outputdir: çıktı dizinini belirtir.
-testclass sınıf_adı: bir veya birkaç sınıf adını belirtir.
-testjar jar_name: testleri içeren kavanozu belirtir.
-sourcedir src1; src2:; kaynak dizinlerin ayrılmış listesi (yalnızca javadoc ek açıklamaları kullanıldığında kullanılır).
-target
-groups
-testrunfactory
-listener
Aşağıdaki örneğimizde TestNG nesnesini mevcut bir testng.xml oluşturacağız.
Bir Sınıf Oluşturun
Test edilecek bir java sınıfı oluşturun, örneğin MessageUtil.java içinde C:\>TestNG_WORKSPACE.
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
//Constructor
//@param message to be printed
public MessageUtil(String message) {
this.message = message;
}
// prints the message
public String printMessage() {
System.out.println(message);
return message;
}
}
Test Vaka Sınıfı Oluşturun
Bir java test sınıfı oluşturun, diyelim ki SampleTest.java.
Test sınıfınıza bir test yöntemi testPrintMessage () ekleyin.
TestPrintMessage () yöntemine bir Ek Açıklama @Test ekleyin.
Test koşulunu uygulayın ve TestNG'nin assertEquals API'sini kullanarak durumu kontrol edin.
SampleTest.java adlı bir java sınıf dosyası oluşturun. C:\>TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
Assert.assertEquals(message, messageUtil.printMessage());
}
}
Testng.xml oluştur
Sonra, testng.xml dosyası oluşturalım. C:\>TestNG_WORKSPACE, test senaryolarını yürütmek için. Bu dosya, tüm testlerinizi XML biçiminde yakalar. Bu dosya, tüm test takımlarınızı ve parametrelerini, kod deponuzda kontrol edebileceğiniz veya iş arkadaşlarınıza e-posta gönderebileceğiniz tek bir dosyada açıklamanızı kolaylaştırır. Ayrıca, testlerinizin alt kümelerini çıkarmayı veya birkaç çalışma zamanı yapılandırmasını bölmeyi kolaylaştırır (örneğin, testngdatabase.xml yalnızca veritabanınızı uygulayan testleri çalıştırır).
<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Sample test Suite">
<test name = "Sample test">
<classes>
<class name = "SampleTest" />
</classes>
</test>
</suite>
Javac kullanarak test durumunu derleyin.
C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java
Şimdi, <test> etiketinde tanımlanan test durumunu çalıştıracak testng.xml dosyasını çalıştırın.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Çıkışı doğrulayın.
Hello World
===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================