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



当我试图模拟这样的事情时:

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

它抛出错误:

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

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

编辑 更进一步。我不得不使用以下内容更新测试/_bootstrap.php:

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

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

溶液

我想通了。在你的测试/_bootstrap.php中,你必须在配置内核后加载 yii

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

这可以关闭。

我想通了。在你的测试/_bootstrap.php中,你必须在配置内核后加载 yii

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

最新更新