我想创建一个经理,以便能够创建一个test suite
,可能只有10 tests cases
,并且能够选择要运行的tests cases
,例如:
class Test extends \PHPUnit_Extensions_SeleniumTestCase
{
constants...
protected function setUp()
{
$this->setBrowser(self::BROWSER);
$this->setBrowserUrl(self::URL);
}
public function testFirst()
{
code...
}
public function testSecond()
{
code...
}
public function testThird()
{
code...
}
}
我希望能够告诉phpunit
只运行testFirst和testSecond,并且不会执行testThird。
我有一个想法这样做:
为每个测试创建一个分开的testSuites
(类)。
有更好的方法吗?
谢谢!
答案 0 :(得分:1)
测试应该独立且快速地进行。
并不总是所有测试都快速执行,所以当我delevop一些模块时,我通常会运行自定义目录或套件的测试,并且当我想检查我的工作是否会破坏系统的其他部分时运行所有测试。 这是一个不好的做法!如果你不能改变它们,最好做一个快速测试,并在额外的套件中移动慢速测试。
我建议您阅读更多有关称为F.I.R.S.T
的良好测试原则的内容快速:快速运行(子集)测试(因为您将一直运行它们)
独立:没有测试依赖于其他测试,因此可以按任何顺序运行任何子集
可重复:运行N次,获得相同的结果(以帮助隔离错误并启用自动化)
自检:测试可以自动检测是否通过(无人检查输出)
及时:与被测代码同时编写(使用TDD,首先编写!)