В настоящее время я пытаюсь настроить тестирование phpunit для тестирования моего API.Проблема в том, что я почему-то не могу дважды отправить один и тот же запрос без проблем.
Я попытался изменить phpunit.xml, чтобы увидеть, есть ли там проблемы без успеха, поэтому яСомневаюсь, что думаю, что я делаю что-то не так в самом коде.
public function test_can_register_user() {
$this->consoleLog('test_can_register_user');
$generatedUser = str_random(5) . '@example.com';
$data = [
'name' => 'Test User',
'email' => $generatedUser,
'password' => 'test',
];
var_dump($data);
$expect = [
'success' => true,
'message' => 'Thanks for signing up! Please check your email to complete your registration.',
];
$request = $this->post('/api/auth/register', $data)
->assertStatus(200)
->assertJson($expect);
return $generatedUser;
}
/**
* @depends test_can_register_user
* @param $generatedUser
*/
public function test_can_not_register_same_email($generatedUser) {
$this->consoleLog('test_can_not_register_same_email');
$data = [
'name' => 'Test User',
'email' => $generatedUser,
'password' => 'test',
];
var_dump($data);
$expect = [
'success' => false,
"error" => [
"email" => [
"The email has already been taken."
]
]
];
$request = $this->post('/api/auth/register', $data);
var_dump($request->json());
$request->assertStatus(200);
}
<php>
<env name="DB_CONNECTION" value="mysql"/>
<env name="APP_DEBUG" value="false"/>
<env name="APP_ENV" value="testing"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="TELESCOPE_ENABLED" value="false"/>
</php>
Ожидаемый результат - вернуть статус 200.Фактический результат в консоли выглядит следующим образом:
Running test:
test_can_not_register_same_email
array(3) {
["name"]=>
string(9) "Test User"
["email"]=>
string(17) "C4v67@example.com"
["password"]=>
string(4) "test"
}
ReflectionException : Class env does not exist
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Container\Container.php:779
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Container\Container.php:658
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Container\Container.php:609
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:759
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Container\Container.php:1222
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:519
D:\Yeagger\yeagger-api\app\Providers\TelescopeServiceProvider.php:24
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Support\HigherOrderCollectionProxy.php:60
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Support\HigherOrderCollectionProxy.php:60
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Support\Collection.php:455
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Support\HigherOrderCollectionProxy.php:61
D:\Yeagger\yeagger-api\vendor\laravel\telescope\src\Telescope.php:263
D:\Yeagger\yeagger-api\vendor\laravel\telescope\src\Telescope.php:222
D:\Yeagger\yeagger-api\vendor\laravel\telescope\src\Telescope.php:270
D:\Yeagger\yeagger-api\vendor\laravel\telescope\src\Telescope.php:294
D:\Yeagger\yeagger-api\vendor\laravel\telescope\src\Watchers\CacheWatcher.php:45
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Events\Dispatcher.php:360
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Events\Dispatcher.php:209
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Cache\Repository.php:497
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Cache\Repository.php:107
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Cache\RateLimiter.php:82
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Cache\RateLimiter.php:39
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Middleware\ThrottleRequests.php:52
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:104
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Router.php:684
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Router.php:659
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Router.php:625
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Router.php:614
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:176
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30
D:\Yeagger\yeagger-api\vendor\barryvdh\laravel-cors\src\HandleCors.php:36
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\fideloper\proxy\src\TrustProxies.php:57
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:31
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:31
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php:27
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php:62
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:104
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:151
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:116
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Testing\Concerns\MakesHttpRequests.php:345
D:\Yeagger\yeagger-api\vendor\laravel\framework\src\Illuminate\Foundation\Testing\Concerns\MakesHttpRequests.php:195
D:\Yeagger\yeagger-api\tests\Unit\UserTest.php:67