Модульное тестирование модели Activerecord - PullRequest
0 голосов
/ 15 ноября 2018

Добрый день.У меня есть метод контроллера для yii 1. Я хочу написать для него модульный тест на phpunit.При тестировании метода я не хочу, чтобы набор данных запроса сохранялся в базе данных через модель RainbowVideoWeb.RainbowVideoWeb - модель ActiveRecord.Я не понимаю, как я могу заменить модель RainbowVideoWeb чем-то, что не взаимодействует с базой данных.Мне нужна помощь

    public function actionIndex()
{
    try {
        $this->layout = '';
        header('Content-type: application/json');
        Yii::log("RAINBOW: " . serialize(Yii::app()->request->getRestParams()));

        $ticketVariant = Yii::app()->request->getPost('ticketVariant');
        $barcode = Yii::app()->request->getPost('ticketCode');
        $stream = Yii::app()->request->getPost('stream');
        $downloadMp4 = Yii::app()->request->getPost('downloadMp4');
        $downloadAvi = Yii::app()->request->getPost('downloadAvi');
        $requestId = Yii::app()->request->getPost('id');

        $rainbowVideo = new RainbowVideoWeb;
        $rainbowVideo->created_at = null;
        $rainbowVideo->ticket_variant = $ticketVariant;
        $rainbowVideo->barcode = $barcode;
        $rainbowVideo->stream = $stream;
        $rainbowVideo->download_mp4 = $downloadMp4;
        $rainbowVideo->download_avi = $downloadAvi;
        $rainbowVideo->request_id = $requestId;

        if ($rainbowVideo->save()) {
            echo json_encode(['status' => 'ok']);
        } else {
            $errors = $rainbowVideo->getErrors();
            throw new Exception('Validation Errors. ' . print_r($errors, true));
        }

        Yii::app()->end();

    } catch (Exception $e) {
        Yii::log("RAINBOW error. " . $e->getMessage(), CLogger::LEVEL_ERROR);
        echo json_encode(['status' => 'error']);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...