Automatic load a Listener in PHPUnit
有没有一种方法可以自动加载一个监听器(或phpunit配置文件),而不使用超过:
?今天我使用:
1
| phpunit -c phpunit.xml --bootstrap bootstrap.php testdir |
希望排除所有开关。我知道在每个目录中都可以有phpunit.xml文件,但这不是一个选项。
事先谢谢!
phpunit本身应该在当前目录中查找phpunit.xml文件。因此,第一个和第二个示例都应该找到并包含相同的phpunit.xml。
- 是的,但是正如我写的,我不希望在任何地方都有相同的phpunit.xml。
- 你为什么到处都需要它?您的测试用例是如何组织的?
- 嗯,我的测试用例在子目录中。我并不总是在根目录中,所以如果我想在特定目录中进行测试,我需要phpunit.xml在该目录中。
- 通常,不管作用域是什么,测试都是从同一个目录运行的。你可以用phpunit运行整个套装。或者只是一个目录或文件与phpunit path/to/tests。但为了利用单个phpunit.xml文件,当前目录保持不变。这个XML文件可以被复制和调整,这取决于您想要包括的行为。例如,基phpunit.xml文件设置了运行测试的最低要求。如果我们想要包括代码覆盖率或其他侦听器,我们将其复制到phpunit-coverage.xml中,并使用-c开关来选择它。
- 确切地!但正如我所说,我并不总是在根目录(配置文件所在的目录)中进行测试。
- 不是说要听起来油嘴滑舌,但你不总是在根目录有什么原因吗?我在你的问题或评论中找不到任何背后的理由。
- 是的,懒惰的人(我不是一个人在做这个项目)。只需使用这个配置文件并从根目录运行测试就容易多了。但是为什么要做一些容易的事情呢?:)
使用Mag文件:
1 2
| unittest:
phpunit -c phpunit.xml --bootstrap bootstrap.php testdir |
只需使用make unittest就可以了。
现在,您可以在相同的模式中为不同的情况添加更多。
- 但是如果我想运行一个不同的目录或一个特定的文件呢?我不想写静态代码,例如makefile。
- 没问题,您可以将参数传递到makefile。看看这里:从命令行传递附加变量