Q: Как я могу сделать php модульный тест для метода execute () phalcon? - PullRequest
0 голосов
/ 10 декабря 2018

Я хочу создать php unit test.

Но я не знаю, как сделать этот тест.

Я хотел бы проверить, являются ли переданный контент и полученный контент корректным.

Поскольку я использую phalcon, между phql и sql могут возникнуть некоторые проблемы.

Вот код, который я хочу проверить.

<?php

public function getAction()
{
    $userId = $this->authUser->getId();
    $dialyId = $this->dispatcher->getParam(0, 'int');
    $columns = [
        'Dialy.id',
        'Dialy.isClosed',
        'Dialy.title',
        'Dialy.keywords',
        'Dialy.background',
        'Dialy.theme',
        'Dialy.body',
        'Consumer.name AS consumerName',
        'Consumer.url AS consumertUrl',
        'Page.dialiesPerMonth',
        'Page.characterCount',
        'Page.name AS pageName',
        'NULL AS userId',
        '0 AS isDone',
        'NULL AS taskId',
        // 'DialyUser.userId',
        // 'DialyUser.isDone',
        // 'MAX(DialyUser.taskId) AS taskId',,
    ];
    $result = \Blog::query()
        ->columns($columns)
        ->innerJoin('Page', 'Page.id = Dialy.pageId')
        ->innerJoin('Consumer', 'Consumer.id = Page.ConsumerId')
        ->leftJoin('DialyUser', 'DialyUser.dialyId = dialy.id')
        ->where("IF (DialyUser.userId IS NULL,
            Dialy.id = {$dialyId}, DialyUser.id IN
            (select max(DialyUser.id) from DialyUser where 
DialyUser.dialyId={$dialyId} group by DialyUser.dialyId))")
        ->groupBy('Dialy.id')
        ->execute();
?>

Вот мойразвивать окружающую среду.

"phalcon/incubator": "3.4.3",
"mockery/mockery": "1.2.0",
"squizlabs/php_codesniffer": "3.3.2",
"phpunit/phpunit": "7.4.5",
"phalcon/devtools": "3.4"

Кто-то, пожалуйста, скажите мне, как сделать тест или советы.

...