Birim testlerimi sıkı modda çalıştırmaya devam etmek istiyorum, böylece herhangi bir son derece uzun testlerden kolayca haberdar olabilirim, ancak aynı zamanda 1s varsayılan zaman aşımı yok yeterli. Tüm testler için değiştirebilir miyim? @short/@medium/@long
ek açıklamalarını kullanarak her bir sınıf için (ve bireysel testler) zaman aşımı ayarlayabildiğimi biliyorum, ancak tüm testler için böyle bir şey var mı? Belki phpunit.xml içinde? Bu, bir süre içinde gerçekleşen PHP_Invoker_TimeoutException: Execution aborted after 1 second
'dan kaçınmaktır.PHPUnit katı mod - varsayılan zaman aşımı nasıl değiştirilir
9
A
cevap
25
Bu seçenek phpunit.xml içinde istenilen zamanları ayarlayarak etkinleştirilebilir. Saatler saniye cinsindendir.
Örnek:
<phpunit
strict="true"
timeoutForSmallTests="1"
timeoutForMediumTests="5"
timeoutForLargeTests="10"
>
// test suites
</phpunit>
Testler
/**
* @medium
*/
public function testTestThing() {
$this->assertTrue(false);
}
DÜZENLEME aşağıdaki gibi testlerde bu fonksiyonları işaretleyerek, orta ya da büyük olması işaretlenebilir : modern PHPUnit versions artık bu zaman aşımı yapmak değildir ve de değişir genellikle her bir şey için ayrı bayraklar ekleyerek sıkı modun davranışı:
beStrictAboutTestsThatDoNotTestAnything="true"
checkForUnintentionallyCoveredCode="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTestSize="true"
beStrictAboutChangesToGlobalState="true"
İlişkin olmayan uyarı: Ayrıca, XML yapılandırma dosyasındaki testlerin yollarının, eski varsayılan ayarların geçerli çalışma yönüne göre olması gerektiğinden, XML yapılandırma dosyasına göreli olarak da değiştirir. Böyle
5
Alternatif olarak, web setUp da bunları ayarlayabilirsiniz() yöntemi:
$this->getTestResultObject()->setTimeoutForSmallTests(1);
$this->getTestResultObject()->setTimeoutForMediumTests(5);
$this->getTestResultObject()->setTimeoutForLargeTests(10);
İlgili konular
- 1. Java ROMA çözümleyici varsayılan yuva zaman aşımı nasıl değiştirilir?
- 2. Varsayılan Varlık Çerçeve zaman aşımı
- 3. savon varsayılan zaman aşımı değeri nasıl ayarlanır
- 4. TransactionScope varsayılan Zaman Aşımı değeri nedir?
- 5. Bekleyen komut için varsayılan zaman aşımı işleyicisi
- 6. ASP.NET'teki varsayılan oturum zaman aşımı değeri nedir?
- 7. android java.net.Socket varsayılan zaman aşımı değeri nedir?
- 8. flex yanıtlayıcı varsayılan zaman aşımı değeri?
- 9. mysql sürekli bağlantıları için zaman aşımı nasıl değiştirilir
- 10. Her zaman 'katı kullanın' özelliğini etkinleştirin; varsayılan olarak?
- 11. üyelik zaman aşımı ve oturum zaman aşımı
- 12. Selenium Python WebDriver varsayılan zaman aşımı nasıl ayarlanır?
- 13. Varsayılan derleyici nasıl değiştirilir?
- 14. fcntl.flock - zaman aşımı nasıl uygulanır?
- 15. Web.config dosyasındaki asp.net web sitesinin varsayılan zaman dilimi nasıl değiştirilir
- 16. Kibana-4'ün varsayılan Zaman Filtresi nasıl değiştirilir?
- 17. Varsayılan oturum zaman aşımı ve Spring oturumunu arka taraf olarak
- 18. AngularJS $ http hizmet istekleri için varsayılan zaman aşımı nedir?
- 19. BackgroundWorker için zaman aşımı
- 20. PHP oturum zaman aşımı
- 21. Android Ekran Zaman aşımı
- 22. JBoss işlem zaman aşımı ayarı?
- 23. zaman aşımı stringwithcontentsofurl
- 24. Android selenium zaman aşımı
- 25. XAML stilinde, katı arka planı degrade olarak nasıl değiştirilir?
- 26. NSURLConnection zaman aşımı?
- 27. WaitGroup.Wait() için zaman aşımı
- 28. SSH Bağlantı Zaman Aşımı
- 29. Highstocks - Varsayılan Zoom nasıl değiştirilir
- 30. Varsayılan raylar nasıl değiştirilir "alan_with_errors"
Olası yinelenen: http://stackoverflow.com/questions/10520464/what-does-phpunit-strict-mode- – Smar
dolara baktım ama bu ayarı global olarak nasıl değiştireceğimi - PHPUnit kaynak kodunu düzenlemeden - kaçınmak istiyorum. –
Bunu yalnızca phpunit.xml dosyasından yapabilirsiniz. Bildiğim kadarıyla PHPUnit için genel bir yapılandırma dosyası yok. – Smar