【问题标题】:How to detect last test from TestCase in Laravel?如何在 Laravel 中检测来自 TestCase 的最后一个测试?
【发布时间】:2016-09-25 21:30:45
【问题描述】:

我可以很容易地检测到第一次测试:

public static $databaseMigrated = false;

protected function setUp()
{
    parent::setUp();

    if (TestCase::$databaseMigrated === false) {
           $this->migrateDatabase();
        TestCase::$databaseMigrated = true;
    }
}

但是有人知道如何检测最后一次测试吗?

protected function tearDown()
{
    // something here ? ?
}

【问题讨论】:

  • 看看setUpBeforeClass()和tearDownAfterClass
  • tearDownAfterClass 为每个测试类调用
  • 您想知道所有套件的最后一个测试吗?
  • 看我的回答,解决了我的问题。

标签: php laravel phpunit laravel-5.2


【解决方案1】:

解决办法是:

public static $databaseMigrated = false;

public function setUp()
{
    parent::setUp();

    if (TestCase::$databaseMigrated === false) {
        TestCase::$databaseMigrated = true;
        register_shutdown_function(function(){
            //register wanted code here
        });
    });
}

【讨论】:

    猜你喜欢
    • 2013-02-10
    • 2021-06-02
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多