【发布时间】:2013-12-10 07:04:16
【问题描述】:
我有一些testsuites(PHPUnit-Selenium,PHPUnit),我想按特定顺序运行它们。所以我想运行“安装(硒驱动)”测试套件然后“单元测试”测试套件。我知道我应该在单元测试中避免依赖关系,但我的问题不在于这个(我使用具有许多依赖关系的旧应用程序,我需要安装并使用 selenium 测试这个安装,然后运行单元测试等)。
所以,我的“测试用例”不需要特定的顺序,这没关系,但只适用于我的“测试套件”。这是我的phpunit.xml 配置文件:
<phpunit backupGlobals="false">
<selenium>
<browser name="Firefox" browser="*firefox" timeout="600" />
</selenium>
<testsuites>
<testsuite name="install (selenium driven)">
<file>./_install.php</file>
<exclude>./bin</exclude>
</testsuite>
<testsuite name="unit tests">
<directory>./</directory>
<exclude>./selenium</exclude>
</testsuite>
</testsuites>
</phpunit>
所以当我运行 phpunit 时,它似乎没有等待“安装(硒驱动)”结果,所以“单元测试”失败(MySQL 错误,但没关系)。我该如何处理?我想要两个单独的步骤:
- 运行“安装(硒驱动)”测试套件
- 运行“单元测试”测试套件
其他信息:
- 我有很多 testCases 文件,所以我不想指定它们
- 我知道我也应该避免
backupGlobals=false,对不起,我不能:( ... - 我知道
bootstrap选项,但我需要“测试”安装(所以它是一个测试套件)
如果您有线索,非常感谢! (我试图找到解决方案,但我暂时没有找到任何解决方案......)
【问题讨论】:
-
也许使用批处理文件一个接一个地调用每个测试套件,使用命令行开关或不同的 XML 配置文件启动 PHPUnit 以运行 1 个测试套件,因此您可以手动安排顺序。维护起来很痛苦,但现在可以工作。