我需要这个,因为我所有的测试都依赖于正在启动的数据库。如果数据库出现故障,我并不真正关心有 10,000 次故障的屏幕。由于 simpletest 在失败后立即打印并且它只是 php 代码,您实际上可以使用简单的die
语句停止测试。
这是我的代码在我的关键“我是否已连接”测试中的样子。
function testDatabaseAccess()
{
$connected = TRUE;
GLOBAL $clients;
$connected &= $this->assertTrue(is_object($clients), 'Clients database not connected.');
GLOBAL $practices;
$connected &= $this->assertTrue(is_object($practices), 'Practices database not connected.');
GLOBAL $user;
$connected &= $this->assertTrue(is_array($user), 'User not defined.');
GLOBAL $practice;
$connected &= $this->assertTrue(is_object($practice), 'Practice database not connected.');
if (!$connected)
{
die('Not Connected.');
}
}
产生:
当然,我没有得到摘要行,但对于我的用例,我不需要或想要我的摘要行。没有数据库,测试没有意义。在我剩下的测试中,我实际上喜欢它不会立即失败。我通常希望一次看到我所有的失败。