2013-04-08 15 views
0

我的测试有点复杂的目录结构。
恩例如:如何在phpunit中运行完整目录?

unitests 

unitests/moduleA 
unitests/moduleA/t1.php 
unitests/moduleA/t2.php 
unitests/moduleA/t3.php 


unitests/moduleB 
unitests/moduleB/t1.php 
unitests/moduleB/t2.php 
unitests/moduleB/t3.php 

我可能有更深层次的目录结构。

如何在一个命令中运行所有测试?

(我试过phpunit unitests/*/*跑只有第一个文件中找到unitests/moduleA/t1.php

回答

1

您应该使用一个配置文件,它会使事情变得更容易运行在未来的测试。

如果创建phpunit.xml文件,其中包含:

<phpunit> 
<testsuites> 

<testsuite name="Unit"> 
<directory>unitests/*</directory> 
</testsuite> 

</testsuites> 
</phpunit> 

和运行phpunit,所有的测试应该运行。

你也应该用Test后缀你所有的课程。

另外,为每个子文件夹创建一个测试套件并不是一个坏主意。

+0

放置此配置的最佳实践在哪里?在我的'unitest'文件夹中? – 2013-04-08 15:42:11

+0

大多数项目都将其放入库的根文件夹中。 例如: phpunit.xml src/ tests/ 因此,您可以直接从根文件夹运行phpunit命令。 – epicdev 2013-04-08 15:43:02

+0

有趣的是,我做了你所说的测试类和相应文件的命名,而且这样做的确有窍门,即使我删除了XML。但是,如果我通过使用unitest文件夹来完成此操作,那么XML就变得必要了,尼斯 - 谢谢! – 2013-04-08 15:52:03

相关问题