PHPUnit:如何要求我的应用程序配置文件

I have a file called application.config.php in my apps root directory. I want to require it or autoload it for my tests. The config file is like so:

<?php
// database connection
$config = array(
  'database' => array(
    'dsn' => 'mysql:host=localhost;dbname=budgetz',
    'user' => 'budgetz_user',
    'password' => 't1nth3p4rk',
  ),
);

My app uses these to connect to the database. So, to test my models they also need to connect to the database, .. or some database. Is it just a matter of something along the lines of requiring it in the test file:

<?php
require_once 'vendor/autoload.php';
require_once 'application.config.php';

class MapperTest extends PHPUnit_Framework_TestCase {
    public function testFetchOne() {
        $dbAdapter = new DatabaseAdapter($config['database']);
        $userMapper = new UserMapper($dbAdapter); // using UserMapper but any child of Mapper will do

        $user = $userMapper->fetchOne(1);

        $this->assertsEquals(1, $user->id, 'message');
    }
}

I tried this but I get the error:

There was 1 error:

1) MapperTest::testFetchOne
Undefined variable: config

/var/www/new_orm/test/MapperTest.php:8

What am I doing wrong? Also, I appreciate anyone giving some advise on best practise here. Perhaps this approach to requiring a config file in every page is a little old. Thanks

Try

public function testFetchOne() {
    global $config;

Globals is an option, but not good one. Create your class, witch extends PHPUnit_Framework_TestCase. Then use the setup to set your config. e.g.

class myTestCase  extends PHPUnit_Framework_TestCase {
        private $config;
        public function setUp() {
            $this->config = ....
        }
        public function getConfig() {
           return $this->configl
        }

Then your testcases should extends myTestCase. You could access config with

$this->getConfig();

Anyway, accessing dev db is not a good idea, maybe it is better to mock the work with the db ?