Farklı ayarlarla birden çok kez bir test çantasının nasıl çalıştırılacağını arıyorum.Bir PHPUnit test çantasını birden çok kez çalıştırma
Veritabanı erişim sınıfını (düzinelerce test yöntemi) test ediyorum ve "normal modda" ve ardından "hata ayıklama modunda" test etmek istiyorum. Her iki mod da aynı test sonuçlarını üretmelidir.
Bunu test çantası ayarında yapmak için herhangi bir imkan var mı? Ya da run() yöntemini geçersiz kılıyor mu? Ben tabii ki, iki kez test yazmak istemiyorum :)
size
düzenleme ederiz: ANLADIM!
public function run(PHPUnit_Framework_TestResult $result = NULL)
{
if ($result === NULL) {
$result = $this->createResult();
}
/**
* Run the testsuite multiple times with different debug level
*/
$this->debugLevel = 0;
print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
$result->run($this);
$this->debugLevel = 8;
print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
$result->run($this);
$this->debugLevel = 16;
print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
$result->run($this);
return $result;
}
public function setUp()
{
parent::setUp();
$this->myclass->setOptions('debug', $this->debugLevel);
}
Test veri kümelerini yayan '@ dataProvider' işlevlerine bir göz atın. – Sven
Kullanım verilerini biliyorumProviders :) Sadece sınıfın basit bir ayarını değiştirmek ve daha sonra TÜM test yöntemlerini tekrar çalıştırmak istiyorum. Gibi bir şey: run(); $ Sınıf-> setDebug (true); koşmak(); –
Tamam, sanırım bu normal durum değil. Orijinal test sınıfını genişletmeyi ve bir şeyi setUp() 'de değiştirmeyi denediniz mi? Bu, tüm test kodlarını yeni bir etiket altında kalmalı ve eşyaları iki kez çalıştırmalıdır. – Sven