[我在多年以普通Codeception编写单元测试后才开始使用PHPUnit
。让我烦恼的一件事是,我找不到控制测试调用顺序的方法。
在纯旧的PHPUnit
中,我像这样手动构建测试结构:
$suite = new PHPUnit_Framework_TestSuite();
$suite->addTest('MyFirstTest');
$suite->addTest('MySecondTest');
并且将按照将它们添加到套件中的顺序来调用测试。 Codeception
似乎正在遍历目录并运行它可以找到的每个测试。
我希望能够在两个级别上控制测试的顺序:
unit tests
之前运行acceptance tests
)]PHPUnit
建立套件的方式)广告2:假设我在acceptance
目录中有两个测试:
AbcCept.php
WebGuy.php
XyzCept.php
我希望能够在XyzCept.php
之前运行AbcCept.php
。这甚至可能吗?
并且期待挑剔的评论:是的,我知道测试应该能够以任何顺序运行,并且彼此之间不依赖,但这不是我要的。
文件按名称排序(我假设我们正在谈论的是同一目录中的文件)。换句话说,如果您需要在XyzCept.php
之前运行测试AbcCept.php
,则可以将XyzCept.php
重命名为AazCept.php
。
您可以创建一个批处理脚本,以所需的任何顺序运行测试,例如,
cd \path\to\test\dir
codecept run unit
codecept run acceptance
或
cd \path\to\test\dir
codecept run unit
codecept run acceptance XycCept.php
codecept run acceptance AbcCept.php
请参见this page上的“运行”命令。