【问题标题】:Test containing $this->expectsEvents() always passes包含 $this->expectsEvents() 的测试总是通过
【发布时间】:2016-05-31 22:33:22
【问题描述】:

以下测试总是在我从 5.1 升级的 Laravel 5.2 应用中通过:

<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class EventTest extends TestCase
{
    public function tearDown()
    {
        Mockery::close();
    }

    public function testExample()
    {
        $this->expectsEvents(App\Events\Foo::class);
    }
}

尽管 App\Events\Foo 类甚至不存在。我在全新的 5.2 安装中测试了相同的测试,但它按预期失败。我查看了升级指南和所有相关的非核心代码,看看是否有一些我错过的东西在 5.1 和 5.2 之间发生了变化,但我无法弄清楚。有什么想法吗?

【问题讨论】:

  • 同样的问题。让我知道你是否想通了

标签: laravel phpunit laravel-5.1 laravel-5.2 mockery


【解决方案1】:

需要执行父tearDown方法:

public function tearDown()
{
    Mockery::close();
    parent::tearDown();
}

【讨论】:

    猜你喜欢
    • 2013-07-27
    • 2017-01-11
    • 2012-09-19
    • 2021-10-29
    • 2018-04-17
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2020-05-21
    相关资源
    最近更新 更多