Bir dizinin tüm sınıflar için testler oluşturmak

2 Cevap php

Ben bir dizinle yapıya sahip ve iş mantığının tüm sınıfları app_dir / lib / dizinine yerleştirilir. Ben bu lib / klasördeki tüm sınıflar için birim testleri oluşturmak istiyorum.

Sorun kaynak dizini, sadece kaynak dosyayı belirtmek için herhangi bir seçenek bulamadık olmasıdır:

app_dir dan:

$ phpunit --skeleton-class lib/
Error: "lib/.php" could not be opened.

Is it the only solution to write my own php script, which iterates through the /lib folder and calls the skeleton generator for every file found? And how can I specify the output folder, where all the generated test files are placed?

2 Cevap

Iskelet testler oluşturmak için, istediğiniz --skeleton-test değil --skeleton-class. Bu uzantısı olmadan dosya ayıklamak ve PHPUnit onu geçecek.

for file in *.php; do phpunit --skeleton-test "${file%.*}"; done;

Ben komutu birden fazla kez çalıştırmak isterseniz size gereken hangi çıkış dizinini değiştirmek için nasıl hiçbir fikrim yok. Ben daha iyi bir tek-liner sadece "test.php" ile biten dosyaları seçin herhalde.

Sebastian Bergmann günlüğü Gönderen:

As of changeset 2764, PHPUnit 3.3's command-line test runner accepts a directory as its argument.

Given a directory, the test runner will recursively scan the directory for *Test.php files, build a test suite out of the *Test classes, and run it.

Ile PHPUnit> = 3.3 Sadece yürütmek gerekir:

phpunit lib