PHPUnit şeyleri görmezden yapma?

4 Cevap php

Ben bir test çalışmasından göz ardı etmek istiyorum bir PHPUnit test sınıfı var. Ben onun dosya içinde kelime Testi içermiyor ki ben adlandırarak bunu biliyorum, ama bu kaynak kontrol sularına İsterdim daha fazla muddies beri ben değil bunu istemem.

Herkes bir öneri var mı?

4 Cevap

Ve koşmak gerektiğini hangi testleri tanımlanmasına yardımcı olabilir phpunit komutu için seçenekleri bir çift vardır:

$ phpunit --help
PHPUnit 3.4.0beta5 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]
       phpunit [switches] <directory>
...
  --filter <pattern>       Filter which tests to run.
  --group ...              Only runs tests from the specified group(s).
  --exclude-group ...      Exclude tests from the specified group(s).
  --list-groups            List available test groups.
...

Bunlar muhtemelen istediğini exactly belirtmek için ... Ama onlar yardımcı olabilir izin vermez.

Daha fazla ayrıntı için bkz: The Command-Line Test Runner


Especially, I kind of like the group feature : just use a @group tag in the phpdoc of your tests, to re-group them (for instance, one group per "chunk of functionnality") ; and, after, you can use the --group or --exclude-group options on the command line to specify which tests should or shouldn't be run.

Sizin durumda, testleri, belki değiştiremez - eğer filtre seçeneği testleri nammed nasıl bağlı, yardımcı olabilir (ie, if there is a way to identify those you want to run):

--filter
Only runs tests whose name matches the given pattern. The pattern can be either the name of a single test or a regular expression that matches multiple test names.


Another solution, if you are not always changing the "groups" of tests to run, might be to use a test-suite that only includes the tests you want to run.

Örneğin, Composing a Test Suite Using XML Configuration bakabilirsiniz.

Ben bu kabul edilen bir cevap ile bir eski soru olduğunu biliyoruz, bu yüzden ben bölmüyorumdur, ama ben sadece skip tests mümkün olduğunu tamamlama aşkına işaret etmek istedim. Eksik ve atlanır testleri PHPUnit tarafından yürütülmez.

Tabii ki, bir test başına seviyesinde bulunuyor - Ancak, 'sınıfa koyarak bu pekiştirmek setUp() olabilir.

Sadece bir heads-up.

Ben tüm PHPUnit kılavuzunu aradı ve bir şey bulamadık. Sen test kapsamı amaçlı kod göz ardı edebilirsiniz, ama bunun hakkında. Ancak, bu ChangeLog o "ile başlamaktadır test dosyası adlarını yoksay." Edeceklerini belirtiyor Ben denemedim, ama denemeye değer. Yoksa testi açıklama olabilir. Ben ihmal testleri rapor edecektir NUnit teklifi gibi bir şey istiyorum varsayarak yaşıyorum; Ben böyle bir şey bulamadık.

sadece yöntemi yeniden adlandırın:

testFunctionality () { //blah }

karşı

ignore_testFunctionality () { //blah }