экземпляр контейнера не работает

Я пытаюсь получить все записи из таблицы в тестовой функции.
призвание DB::table('degrees')->get() возвращает все ожидаемые значения,
Но попытка запустить следующий код возвращает пустую коллекцию:

$db = $this->app->make('db');
$db->connection('testing');
$db->table('degrees')->get();

Единственная проблема, о которой я могу думать, это то, что проект настроен неправильно.

мой файл phpunit.xml:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"backupStaticAttributes="false"bootstrap="bootstrap/autoload.php"colors="true"convertErrorsToExceptions="true"convertNoticesToExceptions="true"convertWarningsToExceptions="true"processIsolation="false"stopOnFailure="false">
<testsuites>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
</testsuite>

<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>

мой createApplication функция:

/**
* Creates the application.
*
* @return Application
*/
public function createApplication(): Application
{
$app = require __DIR__ . '/../bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
return $app;
}

моя конфигурация базы данных для .env.testing

DB_CONNECTION=testing
DB_HOST=192.168.70.10
DB_DATABASE=testing
DB_USERNAME=homestead
DB_PASSWORD=secret

database.php файл

'testing' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'testing'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
]

Я могу подтвердить, что есть данные в таблице, позвонив Degree::all() или же DB::table('degrees')->get() но звонит

$db=$this->app->make('db');
$db->connection('testing');
$db->table('degrees')->get();

возвращается пустым Collection,

Laravel: 5.4.0,
PHPUnit: 5.7.21

1

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector