PHPUnit, PHP tabanlı uygulamalarınız için birim testler oluşturmanıza yardımcı olan bir test çerçevesidir. Birim testler, kodunuzun doğru çalıştığından emin olmanıza yardımcı olur ve uygulamanızı güvenli ve istikrarlı hale getirir. Bu yazıda, PHPUnit kullanarak PHP uygulamalarında birim testlerin nasıl oluşturulacağını anlatmaya çalışacağım.
PHPUnit'i kullanmak için öncelikle Composer'ı projenize eklemeniz gerekmektedir. Eğer projenizde Composer kullanmıyorsanız, Composer'ı https://getcomposer.org/ adresinden indirebilirsiniz.
Composer'ı projenize ekledikten sonra, terminal veya komut istemi kullanarak projenizin kök dizinine gidin.
Aşağıdaki komutu çalıştırarak PHPUnit'i projenize ekleyin:
composer require --dev phpunit/phpunit
Bu komut, projenize PHPUnit'i yükler ve composer.json
dosyanıza bağımlılığı ekler.
Birim testleri, test edilecek sınıf veya fonksiyonlarla aynı dizinde bulunan bir test sınıfında tanımlarız. Bu test sınıfı, PHPUnit_Framework_TestCase sınıfını miras almalıdır. İşte basit bir örnek:
use PHPUnit\Framework\TestCase;
class MyTest extends TestCase
{
public function testSum()
{
$result = sum(2, 3);
$this->assertEquals(5, $result);
}
}
Yukarıdaki örnekte, MyTest
adında bir test sınıfı oluşturduk ve testSum
adında bir test metodu ekledik. Bu metot, sum
fonksiyonunu çağırır ve dönen sonucun 5'e eşit olup olmadığını doğrular.
PHPUnit ile birim testleri çalıştırmak için, terminalde veya komut isteminde aşağıdaki komutu çalıştırın:
./vendor/bin/phpunit
Bu komut, projenizdeki tüm birim testlerinizi çalıştıracaktır. Testler başarılı bir şekilde tamamlandıysa, başarı mesajlarını ve istatistikleri göreceksiniz. Eğer testlerden biri veya birkaçı başarısız olursa, hataları ve başarısız testleri göreceksiniz.
PHPUnit, birim testlerinizi daha karmaşık senaryoları ele alacak şekilde genişletmenizi sağlayan bir dizi işlev sunar. İşte bazı yaygın kullanılan PHPUnit işlevleri:
assertEquals(expected, actual)
: Beklenen değerin, gerçek değerle aynı olup olmadığını kontrol eder.assertTrue(condition)
: Belirtilen koşulun doğru olduğunu doğrular.assertFalse(condition)
: Belirtilen koşulun yanlış olduğunu doğrular.assertNull(actual)
: Değerin null olduğunu doğrular.assertException(exception, callback)
: Belirli bir istisna durumunu doğrular.assertCount(expectedCount, actualArray)
: Bir dizinin belirli bir sayıda öğeye sahip olduğunu doğrular.Bu işlevlerin yanı sıra PHPUnit, daha pek çok işlev sunmaktadır. PHPUnit'in resmi belgeleri, işlevlerin tam listesini ve kullanım örneklerini sağlar.
PHPUnit ile birim testler yazmak, kodunuzun doğru çalıştığından emin olmanıza yardımcı olur ve uygulamanızı daha güvenilir hale getirir. Birim testler, hata ayıklamayı kolaylaştırır ve gelecekteki değişikliklerin mevcut kodu bozmadığından emin olmanıza yardımcı olur. PHPUnit hakkında daha fazla bilgi almak için https://phpunit.de/ adresini ziyaret edebilirsiniz.