更新:与$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);
}
}
答案 0 :(得分:10)
getMock()
。请改用createMock()
或getMockBuilder()
。