. PHPT'in benzer basit (non-birim) test çerçeve, çıkış / başlıkları / / hatalar sonuçlarını değerlendirmelidir

0 Cevap

I'm looking for a simpler test framework. I had a look at a few PHPUnit and SimpleTest scripts and I find the required syntactic sugar appalling. SnapTest sounded nice, but was as cumbersome. Apache More::Test was too procedural, even for my taste. And Symfony lime-test was ununique in that regard. BDD tools like http://everzet.com/Behat/#basics are very nice, but even two abstraction levels higher than desired.

Ayrıca ben şimdiye kadar ıskarta test komut dosyaları kullanarak oldum. Yerine onları uzağa atma, otomatik testler için bunları kullanarak basitleştiren bir test framework / araç var diye merak ediyorum. Özellikle ben bir şey kullanmak istiyorum:

  • çıkışı (baskı / eko) değerlendirir, hatta değerler / nesneleri döndürmek
  • serializes ve prob / karşılaştırma verisi olarak uzak kaydeder
  • geçti testi veya başarısızlık gibi bu karşılaştırma çıktı sınıflandırmak için izin verir
  • Ayrıca başlıkları, uyarı ya da (aynı zamanda çıkış beklenebilir) hata iletileri toplar
  • Birkaç $ test-> assert () veya test ek olarak :: () devletler başarısız

Temelde ben test çerçeveler önceden tanımlayabilir ya da boolean değerlendirmek ve beklenen çıkışı sınıflandırmak el işi yapmak için çok tembelim. Ayrıca ben o gereksiz sınıfa test yöntemleri sarmak için eğlenceli bulmuyorum, düz komut veya fonksiyonları yeterli olmalı içerir. Ayrıca bir ön-initialized tabanı ve test ortamı ile test komut aracılığıyla autorun için zor olmamalı.

. Their ile eski pHPT komut - bekliyoruz - çıkış yakın gelir, ama yine de çok fazla manuel kurulum gerektirmez. Ayrıca ben testleri çalıştırmak için bir web GUI tercih ederim. Bu tür test komut modern bir prova var mı? (Artı bazı başlık / hata / sonuç Erişi Değerlendirmesi ve sonunda birim test :: yöntemleri iddia)


Düzenleme, ben bir örnek vermek gerekecek. Bu tipik PHPUnit test:

 class Test_Something extends PHPUnit_Test_Case_Or_Whatever {
     function tearUp() {
         app::__construct(...);
     }
     function testMyFunctionForProperResults() {
         $this->assertFalse(my_func(false));
         $this->assertMatch(my_func("xyzABC"), "/Z.+c/");
         $this->assertTrue(my_func(123) == 321);
     }
 }

Bunun yerine daha az içiçe testi API ile düz PHP kullanmak istiyorum:

 function test_my_function_for_proper_results() {
     assert::false(my_func(false));
     print my_func("xyz_ABC");
     return my_func(123);
 }

Peki, bu gerçekten bir sarılmış üç testler bulunuyor. Ama sadece vurgulamak için: ilk sürümü manuel test ihtiyacı var. Ne istediğiniz sınama çerçevesi için test verileri dönen / gönderiyor. Bu sonuçları karşılaştırmak için çerçevenin görev ve sadece booleans kaşık beslemeliyse değil. Ya da ben elle test komut dosyaları listelemek istemiyorum şişirilmiş dizi sonuç veya nesne zinciri, olsun düşünün.

0 Cevap