Как я могу использовать DBUnit в PHPUnit с базой данных Microsoft SQL Server?

Я использую PHPUnit и DBUnit для создания тестов для приложения PHP, которое запускается из командной строки и вставляет данные в базу данных Microsoft SQL Server.

Документация по DBUnit (https://phpunit.de/manual/current/en/database.html#database.supported-vendors-for-database-testing) утверждает, что Microsoft SQL Server не поддерживается, но доступен через Zend Framework или Doctrine 2.

Когда я пытаюсь:

 $pdo = new PDO( "odbc:Driver={ODBC Driver 13 for SQL Server};Server=redacted", $user, $passwd );

$this->createDefaultDBConnection($pdo, $db);

Не удивительно, что я получаю следующую ошибку:

PHPUnit_Extensions_Database_Exception: Could not find a meta data driver for odbc pdo driver.

Я нашел документацию Zend Framework, в которой показано, как использовать PHPUnit для написания тестов, связанных с реляционными базами данных (https://framework.zend.com/manual/1.10/en/zend.test.phpunit.db.html), и я думаю, что я мог бы заставить это работать, если бы я лучше понимал Zend, так что, возможно, мне нужна помощь в понимании того, как получить доступ к классам Zend без написания всего приложения Zend.

Но, возможно, есть какой-то не Zend способ сделать это.

0

Решение

Если ваша проблема связана с подключением к PDO, я бы порекомендовал попробовать использовать драйвер pdo_sqlsrv, который поставляется вместе с Драйвер SQL Server для PHP. Строка подключения, которую вы должны использовать, будет выглядеть примерно так:

new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]