为目录中的所有类生成测试

时间:2010-03-19 14:00:55

标签: php testing phpunit

我有一个directoy结构,业务逻辑的所有类都放在app_dir / lib /目录中。我想为这个lib /文件夹中的所有类生成单元测试。

问题是,我没有找到任何选项来指定源目录,只有源文件:

来自app_dir的

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

它是编写我自己的php脚本的唯一解决方案,它遍历/ lib文件夹 并为找到的每个文件调用骨架生成器?如何指定输出所有生成的测试文件的输出文件夹?

2 个答案:

答案 0 :(得分:2)

要生成骨架测试,您需要--skeleton-test而不是--skeleton-class。这将提取没有扩展名的文件名,并将其传递给phpunit。

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

我不知道如果要多次运行命令,如何更改输出目录。我想更好的单行只能选择不以“Test.php”结尾的文件。

答案 1 :(得分:0)

来自Sebastian Bergmann的博客:

  

截至变更集2764, PHPUnit 3.3   命令行测试运行器接受a   目录作为其参数。

     

给定目录,测试运行器   将递归扫描目录   对于* Test.php文件,构建一个测试   套件超出*测试类,和   跑吧。

使用PHPUnit> = 3.3,您应该能够执行:

phpunit lib