PHPUnit de PHPSpec de PHP uygulamanızı test etmek için farklı araçlardır. PHPSpec daha çok nesnelerinizi tasarlamaya yöneliktir. PHPUnit ise genel amaçlı test çatısıdır.

PHPSpec, olası tasarım kusurlarını önlemenizi sağlar. Statik metotlarla ve kısmi mock’larla çalışmaz. Düzgün bir TDD (test driven development) yapmak için daha kolaydır. Okunabilir ve iyi yazılmış kodlar için size rehberlik eder.

PHPUnit biraz daha karmaşıktır. Kodunuzu nasıl yazdığınıza bakmaz. Sadece beklenen sonucu verip vermediğine bakar. Assertion‘lara odaklanmıştır.

PHPSpec ile entegrasyon testi yapamayacağınızı ya da uygulamanın tamamını test edemeyeceğinizi unutmayın. Behat ve Codeception gibi araçlarla daha etkin testler yapabilirsiniz. Özellikle Codeception ile entegrasyon testleri, kullanıcı odaklı testler, tarayıcı testleri, framework testi, BDD (behavior driven development) ve API testleri yapabilirsiniz.