AspectMock test :: double在Yii2测试中不起作用

时间:2020-01-10 09:17:28

标签: testing yii2 mocking

当我尝试模仿这样的东西时:

Test::double(MyService::class, [
    'accept' => true
]);

它引发错误:

在null上调用成员函数registerClass()

我在互联网上找不到任何可以帮助我的东西。有什么想法吗?

编辑 更进一步。我必须使用以下命令更新Test / _bootstrap.php:

$kernel = Kernel::getInstance();
$kernel->init([
    'debug' => true,
    'includePaths' => [__DIR__ . '/../service/'],
    'excludePaths' => [__DIR__],
    'cacheDir'  => '/tmp/aopcache',
]);

它仍然不起作用,但至少不会引发任何错误。知道如何使AspectMock真正模拟东西吗?

解决方案

我知道了。在配置内核之后,必须在test / _bootstrap.php中加载yii:

$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

可以关闭。

1 个答案:

答案 0 :(得分:0)

我知道了。在配置内核之后,必须在test / _bootstrap.php中加载yii:

$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');