Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从Laravel中的TestCase中检测最后一个测试?_Php_Laravel_Phpunit_Laravel 5.2 - Fatal编程技术网

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,每个测试类都被调用,你想知道最后一个测试,看看我的答案,这是我问题的解决方案。