2011-02-07 21 views
13

PHPT test cases'umu çalıştırmak ve geçiş/hata durumunu genel metriklere entegre etmek için nasıl PHPUnit alabilirim? Bu sınamaları, komut satırından run-phpt kullanarak nasıl çalıştırdığımı zaten biliyorum, ancak diğer testlerimde PHPUnit içinden çalıştırmak istiyorum.PHPT sınamalarını PHPUnit ile tümleştirin

PHPUnit_Extensions_PhptTestCase'un varlığının farkındayım ancak nasıl kullanılacağı konusunda herhangi bir örnek bulamadım.

+0

@DavidHarkness teşekkür: .phpt testler yapılandırılmış ve nasıl yazıldığı biçimi hakkında

Bilgi derinlemesine mevcuttur. Şimdi daha iyi okur. Çok takdir edilen – edorian

cevap

5

Bu blog post about testing file uploads'un ana noktası, PHPT sınamalarının nasıl yazılacağını açıklamak olsa da, yazının sonunda bunların PHPUnit'e nasıl ekleneceğini gösterir. Kısaca, üst yapıcıya .phpt dosyasının mutlak yolunu iletirsiniz.

<?php 
require_once 'PHPUnit/Extensions/PhptTestCase.php'; 

class UploadExampleTest extends PHPUnit_Extensions_PhptTestCase { 
    public function __construct() { 
     parent::__construct(__DIR__ . '/upload-example.phpt'); 
    } 
} 

Alternatif olarak, ilk yapıcı argüman olarak bir dizin alır ve sonra bu dizin içinde tüm * .phpt dosyaları arar PHPUnit_Extensions_PhptTestSuite sınıfını kullanabilirsiniz. senin PHPUnit XML yapılandırmada

+1

Bu, her bir test çantasının farklı bir sabit kodlu sınıf dosyası ** ve bunun için ** testcase dosyası gerektirdiği anlamına mı geliyor? Wow, bu işe yaramaz ... – ircmaxell

+0

Ben tamamen mapi s 'post hakkında unuttum yüzden phpt tekrar bakmaya başladım nedeni oldu. Teşekkürler ! – edorian

+6

@ircmaxell: "Alternatif olarak, PHPUnit_Extensions_PhptTestSuite sınıfını kullanabilirsiniz, bu dizin ilk kurucu argümanı olarak bir dizin alır ve bu dizinin içindeki tüm * .phpt dosyalarını arar" :) – edorian

3

, bir testsuite size ".phpt" eki set ile .phpt dosyaları yerleştirilen dizine pHPT (veya başka bir ad) ve nokta adında ekleyebilir. PHPUnit o dizinden tüm pHPT-test dosyaları çalıştırır:

Bu örnekte
<testsuites> 
    <testsuite name="Main Test Suite"> 
     <directory>test</directory> 
    </testsuite> 
    <testsuite name="PHPT Test Suite"> 
     <directory suffix=".phpt">test/phpt</directory> 
    </testsuite> 
</testsuites> 

, dizin test/phpt.phpt dosyaları içerir. temizlik için