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

时间:2017-03-13 11:06:51

标签: php unit-testing phpunit

更新:$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错误:调用   undefined方法DateFormatterTest :: getMock()

     

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

     

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

这是我的代码:

CONFIG.PHP

<?php

class Config {
    public function get() {
        return 'd-m-Y';
    }
}

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);
}

}

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);
    }
}

1 个答案:

答案 0 :(得分:10)

PHPUnit 6中不再存在

getMock()。请改用createMock()getMockBuilder()