如何在Mac上使用XAMPP的MySQL配置PHPUnit

时间:2019-09-18 06:26:59

标签: php mysql xampp phpunit

我在使用XAMPP的MySQL和本地MySQL进行测试时遇到麻烦。每当我运行测试时,数据库连接始终位于本地MySQL而非XAMPP上。

我已经在composer的目录中安装了PHPUnit。

我在连接中使用PDO。

  

ConfigDB.php

namespace App\Config;

use \PDO;

class ConfigDB
{
    private static $password = ''; //XAMPP has no password
    //private static $password = '******'; Local Machine MySQL password
    private static $username = 'root';
    private static $host     = '127.0.0.1';
    private static $database = 'tododb';
    private static $charSet  = 'utf8mb4';

    public function connect(): PDO
    {
        try {
            $dsn    = "mysql:host=". self::$host . ";dbname=" . self::$database . ";charset=" . self::$charSet;
            $pdo    = new PDO($dsn, self::$username, self::$password);

            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);

            return $pdo;
        } catch (\PDOException $e) {
            echo "Connection failed: " . $e->getMessage() . "\n";
        }
    }
}
  

phpunit.xml

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Test suite">
            <directory suffix="Test.php">./tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

如果我尝试将密码与本地MySQL一起使用,则可以使用,但数据库不存在。我知道我可以导入它,但是我想尝试一下。

0 个答案:

没有答案