У меня есть файл Connection.php, где я создаю соединение PDO в конструкторе.Но когда я хочу использовать это в тестах, это дает сбой и выдает ошибку : вызов неопределенного метода App \ model \ Connection :: exec ()
Connection.php
namespace App\model;
use \PDO;
class Connection
{
private $pdo;
public function __construct($dsn, $user = null, $password = null)
{
$this->pdo = new \PDO($dsn, $user, $password);
$this->pdo->setAttribute(
PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION
);
}
public function getPDO()
{
return $this->pdo;
}
}
PDOMessageModelTest.php
namespace App\Tests\Util;
use App\model\PDOMessageModel;
use App\model\Connection;
use PHPUnit\Framework\TestCase;
use \PDO;
class PDOMessageModelTest extends TestCase {
public function setUp()
{
$this->connection = new Connection('sqlite::memory:');
$this->connection->getPDO()->exec('CREATE TABLE message (
id INT,
content VARCHAR(1000),
category VARCHAR(100),
user_id INT,
upvotes INT,
downvotes INT,
PRIMARY KEY (id)
)');
var_dump ($ this-> connection-> getPDO ());die (); дает мне следующий вывод: tests \ PDOMessageModelTest.php: 15: class PDO # 352 (0) {}