7
我刚开始使用Codeception,经过多年编写单元测试,在纯PHPUnit
。有一件事情让我烦恼,我无法找到控制测试调用顺序的方法。有没有办法在Codeception中控制测试订单?
在纯旧PHPUnit
我被手动构建测试结构是这样的:
$suite = new PHPUnit_Framework_TestSuite();
$suite->addTest('MyFirstTest');
$suite->addTest('MySecondTest');
和测试将在它们被添加到套件中的顺序调用。另一方面,Codeception
似乎是遍历目录并运行它可以找到的每个测试。
我希望能够控制在两个层面上测试的顺序:
- 在不同类型的测试被调用的顺序(即我想
acceptance tests
之前运行unit tests
) - 我想控制在特定测试类型中调用的测试顺序(以类似的方式
PHPUnit
构建套件)
Ad。 2:比方说,我在acceptance
目录中的两个测试:
AbcCept.php
WebGuy.php
XyzCept.php
我希望能够AbcCept.php
之前运行XyzCept.php
。这甚至有可能吗?
并预测挑剔的评论:是的,我知道测试应该能够以任何顺序运行,而不是依赖于彼此,但这不是我所要求的。
好的,谢谢。这很明显。我现在实际上将它们按数字排序(通过添加前缀“001”,“002”等)。但是复杂的目录结构呢,单元测试类在命名空间(PSR-0)中呢? –
所有文件按其全名排序,即路径+文件名。 – akond