是否可以从Phalcon控制器获取渲染的视图输出?来自单元测试?

问题描述

我正在编写一个控制器测试,就像这样:

class DepositOrderTest extends AbstractUnitTest {
    public function testTestCase(): void {
        $deposit_controller = new DepositController();
        $deposit_controller->setDI($this->di);
        $result = $deposit_controller->indexAction();
        error_log($result);
    }
}

我希望$result可能是HTML输出,但事实并非如此。如何获得此操作的HTML输出?甚至有可能吗?

谢谢。

解决方法

简而言之,您可以使用Phalcon\Mvc\View\Simple来呈现没有层次级别的视图

use Phalcon\Mvc\View\Simple;

$view = new Simple();

$view->setViewsDir('../app/views/');

echo $view->render('templates/welcome');

echo $view->render(
    'templates/welcome',[
        'email'   => $email,'content' => $content,]
);

或者您可以在documentation中查看其他/复杂选项