错误:调用未定义的方法DateFormatterTest :: getMock()

Met*_*bie 3 php phpunit unit-testing

更新:$stub = $this->createMock('Config');这个例子的作品,但我得到一个警告:

好的,但不完整,跳过或有风险的测试!测试:1,断言:0,风险:1.

在视频教程中,此示例无需任何警告即可运行.是否可以修复此警告?


我找不到为什么我收到此错误以及如何解决它.此代码来自视频教程.在视频中它可以工作.也许是一个错字?

错误:

c:\ laragon\www\phpunitλphpunit--colors tests\DateFormatterTest.php由Sebastian Bergmann和贡献者提供的PHPUnit 6.0.0.

E 1/1(100%)

时间:35毫秒,内存:4.00MB

有1个错误:

1)DateFormatterTest :: testFormattingDatesBasedOnConfig错误:调用未定义的方法DateFormatterTest :: getMock()

C:\ laragon\WWW\PHPUnit的\测试\ DateFormatterTest.php:10

错误!测试:1,断言:0,错误:1.

这是我的代码:

config.php文件

<?php

class Config {
    public function get() {
        return 'd-m-Y';
    }
}
Run Code Online (Sandbox Code Playgroud)

DateFormatter.php

class DateFormatter {protected $ config;

public function __construct (Config $config) {
    $this->config = $config;
}

public function getFormattedDate($timestamp) {
    return date($this->config->get('date.format'), $timestamp);
}
Run Code Online (Sandbox Code Playgroud)

}

DateFormatterTest.php

<?php

use PHPUnit\Framework\TestCase;

require_once 'C:\laragon\www\phpunit\src\DateFormatter.php';
require_once 'C:\laragon\www\phpunit\src\Config.php';

class DateFormatterTest extends TestCase {
    public function testFormattingDatesBasedOnConfig() {
        $stub = $this->getMock('Config');

        var_dump($stub);
    }
}
Run Code Online (Sandbox Code Playgroud)

Seb*_*ann 10

getMock()PHPUnit 6中不再存在.使用createMock()getMockBuilder()替代.