Я тестирую API и сталкиваюсь с этой проблемой, когда выполняю следующий код
$client = new Client([
'base_uri' => 'http://localhost'
]);
$response = $client->post('/support', [
'form_params' => [
'host' => Shop::first()->host,
'key' => md5(getenv('KEY_API_APP'))
]
]);
echo "\r\n".$response->getBody();
$this->assertEquals(200, $response->getStatusCode());
Метод который лежит по этому адресу
if(md5(getenv('KEY_API_APP'))== $request->key) {
if (!is_null(Shop::where('host', '=', $request->host)->first())) {
$shop = Shop::select(config('support.shop'))->get();
return $this->success($shop);
} else {
return $this->respond('Failed','Error, application host name is not correct');
}
}
else {
return $this->respond('Failed','Error, application key is not correct');
В ходе проверки выявил, что метод использует базу которая прописана в .env, а не ту которая в phpunit.xml, с чем это может быть связано?
Мой phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php"
colors="true">
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">./tests</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="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="KEY_API_APP" value="3c6e0b8a9c15224a8228b9a98ca1531d"/>
<server name="DB_DATABASE" value=":memory:"/>
</php>
</phpunit>