Configurar la base de datos de prueba para las pruebas de aceptación en Codeception (Laravel)

Estoy usando el marco de Codeception para realizar pruebas de aceptación en la aplicación Laravel 5. Quería usar una base de datos separada para las pruebas para evitar que la base de datos real cambie a través de las pruebas. Confundí los archivos .yml basados en la documentación de Codeception. Pero la base de datos real se ve afectada de todos modos. Estos son mis archivos de configuración:

/codeception.yml

actor: Tester
 paths:
   tests: tests
    log: tests/_output
    data: tests/_data
   support: tests/_support
   envs: tests/_envs
 settings:
   bootstrap: _bootstrap.php
   colors: true
    memory_limit: 1024M
  extensions:
  enabled:
    - Codeception\Extension\RunFailed
  modules:
  config:
     Db:
        dsn: 'mysql:host=localhost;dbname=realDB'
        user: 'root'
        password: 'secret'
        dump: 'tests/_data/dump.sql'

/tests/acceptance.suite.yml

class_name: AcceptanceTester
modules:
  enabled:
    - WebDriver:
        url: 'http://localhost:8000/'
        browser: firefox
    - Laravel5:
        part: ORM
        cleanup: false # can't wrap into transaction
     Db:
      populate: true
      cleanup: true
    - \Helper\Acceptance

El realDB es la base de datos real y cambia después de realizar la prueba de aceptación. Intenté diferentes casos de limpieza en accept.suite.yml: 1) limpieza: falso en el módulo Laravel y limpieza: verdadero en el módulo Db 2) limpieza: verdadero en el módulo Laravel y limpieza: verdadero en el módulo Db. La documentación de codecepción dice que para la prueba de aceptación, necesitamos "deshabilitar la limpieza y usar el módulo Db para limpiar la base de datos entre las pruebas". Pero el realDB cambia de todos modos.

He probado diferentes marcos de prueba para PHP, como PHPUnit en Laravel, el controlador PHP Selenium, el controlador web de Facebook y, en todos los casos, la base de datos real se ve afectada al realizar pruebas de aceptación. ¿Cómo puedo configurar correctamente Codeception para evitar cambios en la base de datos?

Cualquier ayuda sería apreciada.

[ACTUALIZACIÓN1]

Como @TheFallen sugirió que usara una base de datos diferente para las pruebas, cambio los archivos de configuración de esta manera:

/codeception.yml

actor: Tester
 paths:
   tests: tests
    log: tests/_output
    data: tests/_data
   support: tests/_support
   envs: tests/_envs
 settings:
   bootstrap: _bootstrap.php
   colors: true
    memory_limit: 1024M
  extensions:
  enabled:
    - Codeception\Extension\RunFailed
  modules:
  config:
     Db:
        dsn: 'mysql:host=localhost;dbname=testDB'
        user: 'root'
        password: 'secret'
        dump: 'tests/_data/dump.sql'

/tests/acceptance.suite.yml

class_name: AcceptanceTester
modules:
  enabled:
    - WebDriver:
        url: 'http://localhost:8000/'
        browser: firefox
    - Laravel5:
        part: ORM
        environment_file: .env.testing
        cleanup: true
     Db:
      populate: true
      cleanup: true
    - \Helper\Acceptance 

/.env.testing

APPLICATION_URL=http://localhost:8000
APP_DEBUG=true
APP_ENV = testing
MYSQL_MAIN_HOST=localhost
MYSQL_MAIN_DATABASE=realDB
MYSQL_MAIN_USER=root
MYSQL_MAIN_PASSWORD=secret 
CACHE_DRIVER=array 
DB_CONNECTION=test_mysql
TEST_MYSQL_MAIN_DATABASE=testDB

/config/database.php

return [

    'fetch' => PDO::FETCH_CLASS,

    'default' => env('DB_CONNECTION', 'mysql'),

    'connections' => [

        'test_mysql' => [
            'driver'    => 'mysql',
            'host'      => env('MYSQL_MAIN_HOST', 'localhost'),
            'database'  => env('TEST_MYSQL_MAIN_DATABASE', 'testDB'),
            'username' => env('MYSQL_MAIN_USER', 'root'),
            'password' => env('MYSQL_MAIN_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],
...

El .env.testing se encuentra en la raíz de la aplicación Laravel. Pero la base de datos real (realDB) todavía se ve afectada y solo el archivo de volcado se importa en la base de datos de prueba (testDB). Parece que la aplicación no usa .env.testing. ¿Cómo puedo arreglar esto?

Tenga en cuenta que, se envía una solicitud AJAX para llamar a una función que cambia datos en la base de datos en mi prueba de aceptación. Quiero revertir las transacciones de la base de datos realizadas por solicitudes AJAX.

[ACTUALIZACIÓN2]

De acuerdo aDocumentación de codecepción, Las pruebas de aceptación se ejecutarán en un entorno de desarrollo utilizando un servidor web real, por lo que no se les puede pasar la configuración de .env.testing. :(

Después de todo lo que he hecho para resolver este problema, concluyo que es imposible evitar que la base de datos real cambie después de realizar pruebas de aceptación que desencadenan solicitudes de AJAX para realizar transacciones de la base de datos a menos que cambie la base de datos predeterminada para probar una en el archivo .env.

Si alguien tiene una mejor solución, ¡compártala!