我已经为我的应用程序模块和其他模块进行了测试。他们工作正常,但我想运行所有测试(应用程序模块和其他模块)toguether来生成jenkins的三叶草报告。我该怎么办??创建另一个配置文件来调用其他配置文件??
--- ---编辑
我对每个模块bootstrap.php都有相同的代码,我想为每个模块使用相同的代码以避免代码重复。 Rigth现在我有两个模块应用程序和问题当我运行phpunit它会抛出这个错误:
**.PHP Fatal error: Class 'ProblemTest\Bootstrap' not found ....**
Application模块的测试工作正常,但Problem模块的测试不适用于 phpunit_bootstrap.php 文件中的名称空间声明。
我的应用程序测试使用此声明:
<?php
namespace ApplicationTest\Controller;
use ApplicationTest\Bootstrap; ....
我的问题测试使用此声明:
<?php
namespace ProblemTest\Controller;
use ProblemTest\Bootstrap;
这是我的phpunit.xml
<phpunit bootstrap="phpunit_bootstrap.php">
<testsuites>
<testsuite name="ALL">
<directory>module/Application/test</directory>
<directory>module/Problem/test</directory>
</testsuite>
</testsuites>
这是我的phpunit_bootstrap.php
<?php
namespace ApplicationTest;
我现在运行所有测试toguether的问题是如何为每个测试包含相同的引导程序以避免该异常。
答案 0 :(得分:3)
您可以制作一个测试套件,一次运行一组单独的测试。在你的phpunit.xml.dist文件中:
<phpunit bootstrap="phpunit_bootstrap.php">
<testsuites>
<testsuite name="all">
<directory>./</directory>
</testsuite>
<testsuite name="ALL">
<directory>/path/to/module1tests</directory>
<directory>/path/to/module2tests</directory>
<directory>/path/to/module3tests</directory>
<exclude>/path/to/module4tests</exclude>
</testsuite>
<testsuite name="module1only">
<directory>./module1tests</directory>
</testsuite>
</testsuites>
然后你可以运行它:/ path / to / phpunit --testsuite =“ALL”
答案 1 :(得分:1)
我无法发表评论,因此可以在zend framework 2 + phpunit + multiple modules + continuous integration找到此问题的另一种解决方案。如果您不想单独命名每个模块。