我有一个directoy结构,业务逻辑的所有类都放在app_dir / lib /目录中。我想为这个lib /文件夹中的所有类生成单元测试。
问题是,我没有找到任何选项来指定源目录,只有源文件:
来自app_dir的:
$ phpunit --skeleton-class lib/
Error: "lib/.php" could not be opened.
它是编写我自己的php脚本的唯一解决方案,它遍历/ lib文件夹 并为找到的每个文件调用骨架生成器?如何指定输出所有生成的测试文件的输出文件夹?
答案 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