Php 如何从Laravel中的TestCase中检测最后一个测试?
我可以很容易地检测到第一次测试:Php 如何从Laravel中的TestCase中检测最后一个测试?,php,laravel,phpunit,laravel-5.2,Php,Laravel,Phpunit,Laravel 5.2,我可以很容易地检测到第一次测试: public static $databaseMigrated = false; protected function setUp() { parent::setUp(); if (TestCase::$databaseMigrated === false) { $this->migrateDatabase(); TestCase::$databaseMigrated = true; } }
public static $databaseMigrated = false;
protected function setUp()
{
parent::setUp();
if (TestCase::$databaseMigrated === false) {
$this->migrateDatabase();
TestCase::$databaseMigrated = true;
}
}
但有人知道如何检测最后一次测试吗
protected function tearDown()
{
// something here ? ?
}
解决办法是:
public static $databaseMigrated = false;
public function setUp()
{
parent::setUp();
if (TestCase::$databaseMigrated === false) {
TestCase::$databaseMigrated = true;
register_shutdown_function(function(){
//register wanted code here
});
});
}
解决办法是:
public static $databaseMigrated = false;
public function setUp()
{
parent::setUp();
if (TestCase::$databaseMigrated === false) {
TestCase::$databaseMigrated = true;
register_shutdown_function(function(){
//register wanted code here
});
});
}
看看setUpBeforeClass()和tearDownAfterClasstearDownAfterClass,每个测试类都被调用,你想知道最后一个测试,从所有套件中吗?看看我的答案,这是我问题的解决方案。看看setUpBeforeClass()和tearDownAfterClasstearDownAfterClass,每个测试类都被调用,你想知道最后一个测试,看看我的答案,这是我问题的解决方案。