Как написать модульный тест PHP для подготовленных операторов mysqli?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как написать модульный тест PHP для подготовленных операторов mysqli?

Сообщение Anonymous »

Я хотел бы написать модульный тест PHP для функции класса.
Функция:

Код: Выделить всё

        function ValidateToken(string $key, string $token): array {
if (!empty($key) || !empty($token)) {
$email = "%".htmlspecialchars($key)."%";
$token = htmlspecialchars($token);
$stmt = $this->c->prepare("SELECT expDate FROM `authuser` WHERE `reset_link_token`= ? AND `email1` LIKE ?");
$stmt->bind_param('ss',$token,$email);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array(MYSQLI_ASSOC);
$curDate = date("Y-m-d H:i:s");
if ($result->num_rows > 0) {
if($row['expDate'] >= $curDate){
return array("response"=>1,"email"=>$key,"token"=>$token);
} else {
return array("response"=>2);
}
} else {
return array("response"=>0);
}
} else {
return array("response"=>0);
}
}
Я хотел бы провести тест на успешном токене с неистёкшим сроком действия. Вот мой тест, который не работает:

Код: Выделить всё

    public function testExpiredTokenSuccess() {
$successToken = new stdClass();
$successToken->expDate = '2099-12-31 23:59:59'; // y2.1k bug
$this->mockLF = array();

$this->mockLF[0] = $successToken ;
$this->dbMock = $this->getMockBuilder(Connection::class)
->disableOriginalConstructor()
->getMock();

$curDate = date("Y-m-d H:i:s");

$this->authuserloginclass = new LoginFormClass();
$returnVal = $this->authuserloginclass->ValidateToken('key','token');
$this->assertEquals("1", $returnVal);
}
Ошибка сообщает, что не удается подключиться к базе данных. При запуске этого теста база данных будет недоступна, поэтому мне нужно имитировать определенные вещи.
Выявляется ли что-нибудь как проблема?

Подробнее здесь: https://stackoverflow.com/questions/791 ... statements
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как написать модульный тест PHP для подготовленных операторов mysqli?
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как написать модульный тест PHP для подготовленных операторов mysqli?
    Anonymous » » в форуме Php
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Несколько подготовленных операторов в PHP с MySQLi
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как пакетно изменить множество процедурных запросов mysqli для подготовленных операторов?
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • IN (?,?) Точные значения подготовленных операторов mysqli
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»