如何在 Codeception 中使用 Stub::update?

Posted

技术标签:

【中文标题】如何在 Codeception 中使用 Stub::update?【英文标题】:How to use Stub::update in Codeception? 【发布时间】:2020-10-06 21:45:24 【问题描述】:

我使用 Codeception 框架编写测试。 我正在尝试在现有存根中使用 \Codeception\Stub::update 作为更新方法,但它不起作用。

$this->userServiceStub = Stub::make(User::class, [
            'getService' => function() use ($serviceStub) 
                return $serviceStub;
            ,
            'getFields' => [
                'ID' => 1234,
                'NAME' => 'First Test User',
            ],
        ]);

$this->userServiceStub = Stub::update($this->userServiceStub, [
            'getFields' => [
                'ID' => 1234,
                'NAME' => 'Second Test User',
            ]
        ]);

当我使用 getFields 方法时,我看到旧名称“第一个测试用户”。如何正确使用 Stub::update?

【问题讨论】:

【参考方案1】:

好像这是bug。也不适合我。

我只是通过从头开始重新创建存根来解决这个问题。

【讨论】:

以上是关于如何在 Codeception 中使用 Stub::update?的主要内容,如果未能解决你的问题,请参考以下文章

Codeception\Util\Stub 方法 ::exactly 和 ::once 不起作用

如何在 Codeception 功能测试中使用 PHPUnit 断言方法?

Yii2中如何使用CodeCeption

Yii2中如何使用CodeCeption

如何在 Codeception 命令行的验收测试中使用动态 url

Codeception, WebDriver |如何悬停,然后单击悬停的位置