درود و خدا قوت ؛ بنده زمانی که میخواهم تست ایجاد کاربر رو اجرا کنم با خطا روبرو میشم و زمانی که construct و ولیدیشن و اجرای متد create رو به حالت کامنت درمیارم تستهای قبلی من پاس میشن دقیقا منظورم اینها هست
class UsersController extends Controller
{
public function __construct(private UserRepositoryInterface $userRepository)
{
}
public function store(Request $request)
{
$this->validate($request, [
'fullname' => 'required|string|min:3|max:255',
'email' => 'required|email',
'mobile'=>'required|srting',
'password' => 'required',
]);
$this->userRepository->create($request->toArray());
خطای من هم این هست
PS C:\\xampp\\htdocs\\dashboard\\Azmoon> ./vendor/bin/phpunit
PHPUnit 9.5.13 by Sebastian Bergmann and contributors.
F. 2 / 2 (100%)
Time: 00:02.044, Memory: 12.00 MB
There was 1 failure:
1) API\\V1\\Users\\UsersTest::test_should_create_a_new_user
Failed asserting that 500 matches expected 201.
C:\\xampp\\htdocs\\dashboard\\Azmoon\\tests\\API\\V1\\Users\\UsersTest.php:18
FAILURES!
Tests: 2, Assertions: 2, Failures: 1.
PS C:\\xampp\\htdocs\\dashboard\\Azmoon> ./vendor/bin/phpunit
PHPUnit 9.5.13 by Sebastian Bergmann and contributors.
F. 2 / 2 (100%)
Time: 00:01.399, Memory: 12.00 MB
There was 1 failure:
1) API\\V1\\Users\\UsersTest::test_should_create_a_new_user
Failed asserting that 500 matches expected 201.
C:\\xampp\\htdocs\\dashboard\\Azmoon\\tests\\API\\V1\\Users\\UsersTest.php:18
FAILURES!
Tests: 2, Assertions: 2, Failures: 1.
لاگ هم بررسی کردم با چیز خاصی روبرو نشدم
[2022-03-06 10:30:27] testing.ERROR: Target [App\\repositories\\contracts\\UserRepositoryInterface] is not instantiable while building [App\\Http\\Controllers\\API\\V1\\UsersController]. {"exception":"[object] (Illuminate\\\\Contracts\\\\Container\\\\BindingResolutionException(code: 0): Target [App\\
epositories\\\\contracts\\\\UserRepositoryInterface] is not instantiable while building [App\\\\Http\\\\Controllers\\\\API\\\\V1\\\\UsersController]. at C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php:1093)
[stacktrace]
#0 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(886): Illuminate\\\\Container\\\\Container->notInstantiable('App\\\\\\
epositorie...')
#1 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(758): Illuminate\\\\Container\\\\Container->build('App\\\\\\
epositorie...')
#2 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(694): Illuminate\\\\Container\\\\Container->resolve('App\\\\\\
epositorie...', Array)
#3 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Application.php(300): Illuminate\\\\Container\\\\Container->make('App\\\\\\
epositorie...', Array)
#4 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(1031): Laravel\\\\Lumen\\\\Application->make('App\\\\\\
epositorie...')
#5 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(951): Illuminate\\\\Container\\\\Container->resolveClass(Object(ReflectionParameter))
#6 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(912): Illuminate\\\\Container\\\\Container->resolveDependencies(Array)
#7 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(758): Illuminate\\\\Container\\\\Container->build('App\\\\\\\\Http\\\\\\\\Contro...')
#8 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(694): Illuminate\\\\Container\\\\Container->resolve('App\\\\\\\\Http\\\\\\\\Contro...', Array)
#9 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Application.php(300): Illuminate\\\\Container\\\\Container->make('App\\\\\\\\Http\\\\\\\\Contro...', Array)
#10 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(324): Laravel\\\\Lumen\\\\Application->make('App\\\\\\\\Http\\\\\\\\Contro...')
#11 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(282): Laravel\\\\Lumen\\\\Application->callControllerAction(Array)
#12 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(267): Laravel\\\\Lumen\\\\Application->callActionOnArrayBasedRoute(Array)
#13 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(169): Laravel\\\\Lumen\\\\Application->handleFoundRoute(Array)
#14 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(429): Laravel\\\\Lumen\\\\Application->Laravel\\\\Lumen\\\\Concerns\\\\{closure}(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#15 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(175): Laravel\\\\Lumen\\\\Application->sendThroughPipeline(Array, Object(Closure))
#16 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(95): Laravel\\\\Lumen\\\\Application->dispatch(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#17 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Testing\\\\Concerns\\\\MakesHttpRequests.php(361): Laravel\\\\Lumen\\\\Application->handle(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#18 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\tests\\\\API\\\\V1\\\\Users\\\\UsersTest.php(10): Laravel\\\\Lumen\\\\Testing\\\\TestCase->call('POST', 'api/v1/users', Array)
#19 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(1545): API\\\\V1\\\\Users\\\\UsersTest->test_should_create_a_new_user()
#20 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(1151): PHPUnit\\\\Framework\\\\TestCase->runTest()
#21 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestResult.php(726): PHPUnit\\\\Framework\\\\TestCase->runBare()
#22 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(903): PHPUnit\\\\Framework\\\\TestResult->run(Object(API\\\\V1\\\\Users\\\\UsersTest))
#23 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestCase->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#24 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#25 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#26 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\TestRunner.php(670): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#27 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\Command.php(143): PHPUnit\\\\TextUI\\\\TestRunner->run(Object(PHPUnit\\\\Framework\\\\TestSuite), Array, Array, true)
#28 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\Command.php(96): PHPUnit\\\\TextUI\\\\Command->run(Array, true)
#29 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\phpunit(98): PHPUnit\\\\TextUI\\\\Command::main()
#30 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\bin\\\\phpunit(110): include('C:\\\\\\\\xampp\\\\\\\\htdocs...')
#31 {main}
"}
[2022-03-06 11:13:01] testing.ERROR: Target [App\\repositories\\contracts\\UserRepositoryInterface] is not instantiable while building [App\\Http\\Controllers\\API\\V1\\UsersController]. {"exception":"[object] (Illuminate\\\\Contracts\\\\Container\\\\BindingResolutionException(code: 0): Target [App\\
epositories\\\\contracts\\\\UserRepositoryInterface] is not instantiable while building [App\\\\Http\\\\Controllers\\\\API\\\\V1\\\\UsersController]. at C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php:1093)
[stacktrace]
#0 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(886): Illuminate\\\\Container\\\\Container->notInstantiable('App\\\\\\
epositorie...')
#1 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(758): Illuminate\\\\Container\\\\Container->build('App\\\\\\
epositorie...')
#2 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(694): Illuminate\\\\Container\\\\Container->resolve('App\\\\\\
epositorie...', Array)
#3 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Application.php(300): Illuminate\\\\Container\\\\Container->make('App\\\\\\
epositorie...', Array)
#4 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(1031): Laravel\\\\Lumen\\\\Application->make('App\\\\\\
epositorie...')
#5 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(951): Illuminate\\\\Container\\\\Container->resolveClass(Object(ReflectionParameter))
#6 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(912): Illuminate\\\\Container\\\\Container->resolveDependencies(Array)
#7 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(758): Illuminate\\\\Container\\\\Container->build('App\\\\\\\\Http\\\\\\\\Contro...')
#8 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(694): Illuminate\\\\Container\\\\Container->resolve('App\\\\\\\\Http\\\\\\\\Contro...', Array)
#9 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Application.php(300): Illuminate\\\\Container\\\\Container->make('App\\\\\\\\Http\\\\\\\\Contro...', Array)
#10 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(324): Laravel\\\\Lumen\\\\Application->make('App\\\\\\\\Http\\\\\\\\Contro...')
#11 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(282): Laravel\\\\Lumen\\\\Application->callControllerAction(Array)
#12 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(267): Laravel\\\\Lumen\\\\Application->callActionOnArrayBasedRoute(Array)
#13 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(169): Laravel\\\\Lumen\\\\Application->handleFoundRoute(Array)
#14 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(429): Laravel\\\\Lumen\\\\Application->Laravel\\\\Lumen\\\\Concerns\\\\{closure}(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#15 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(175): Laravel\\\\Lumen\\\\Application->sendThroughPipeline(Array, Object(Closure))
#16 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(95): Laravel\\\\Lumen\\\\Application->dispatch(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#17 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Testing\\\\Concerns\\\\MakesHttpRequests.php(361): Laravel\\\\Lumen\\\\Application->handle(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#18 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\tests\\\\API\\\\V1\\\\Users\\\\UsersTest.php(10): Laravel\\\\Lumen\\\\Testing\\\\TestCase->call('POST', 'api/v1/users', Array)
#19 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(1545): API\\\\V1\\\\Users\\\\UsersTest->test_should_create_a_new_user()
#20 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(1151): PHPUnit\\\\Framework\\\\TestCase->runTest()
#21 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestResult.php(726): PHPUnit\\\\Framework\\\\TestCase->runBare()
#22 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(903): PHPUnit\\\\Framework\\\\TestResult->run(Object(API\\\\V1\\\\Users\\\\UsersTest))
#23 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestCase->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#24 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#25 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#26 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\TestRunner.php(670): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#27 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\Command.php(143): PHPUnit\\\\TextUI\\\\TestRunner->run(Object(PHPUnit\\\\Framework\\\\TestSuite), Array, Array, true)
#28 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\Command.php(96): PHPUnit\\\\TextUI\\\\Command->run(Array, true)
#29 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\phpunit(98): PHPUnit\\\\TextUI\\\\Command::main()
#30 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\bin\\\\phpunit(110): include('C:\\\\\\\\xampp\\\\\\\\htdocs...')
#31 {main}
"}
[2022-03-06 11:14:15] testing.ERROR: Target [App\\repositories\\contracts\\UserRepositoryInterface] is not instantiable while building [App\\Http\\Controllers\\API\\V1\\UsersController]. {"exception":"[object] (Illuminate\\\\Contracts\\\\Container\\\\BindingResolutionException(code: 0): Target [App\\
epositories\\\\contracts\\\\UserRepositoryInterface] is not instantiable while building [App\\\\Http\\\\Controllers\\\\API\\\\V1\\\\UsersController]. at C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php:1093)
[stacktrace]
#0 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(886): Illuminate\\\\Container\\\\Container->notInstantiable('App\\\\\\
epositorie...')
#1 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(758): Illuminate\\\\Container\\\\Container->build('App\\\\\\
epositorie...')
#2 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(694): Illuminate\\\\Container\\\\Container->resolve('App\\\\\\
epositorie...', Array)
#3 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Application.php(300): Illuminate\\\\Container\\\\Container->make('App\\\\\\
epositorie...', Array)
#4 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(1031): Laravel\\\\Lumen\\\\Application->make('App\\\\\\
epositorie...')
#5 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(951): Illuminate\\\\Container\\\\Container->resolveClass(Object(ReflectionParameter))
#6 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(912): Illuminate\\\\Container\\\\Container->resolveDependencies(Array)
#7 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(758): Illuminate\\\\Container\\\\Container->build('App\\\\\\\\Http\\\\\\\\Contro...')
#8 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\illuminate\\\\container\\\\Container.php(694): Illuminate\\\\Container\\\\Container->resolve('App\\\\\\\\Http\\\\\\\\Contro...', Array)
#9 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Application.php(300): Illuminate\\\\Container\\\\Container->make('App\\\\\\\\Http\\\\\\\\Contro...', Array)
#10 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(324): Laravel\\\\Lumen\\\\Application->make('App\\\\\\\\Http\\\\\\\\Contro...')
#11 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(282): Laravel\\\\Lumen\\\\Application->callControllerAction(Array)
#12 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(267): Laravel\\\\Lumen\\\\Application->callActionOnArrayBasedRoute(Array)
#13 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(169): Laravel\\\\Lumen\\\\Application->handleFoundRoute(Array)
#14 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(429): Laravel\\\\Lumen\\\\Application->Laravel\\\\Lumen\\\\Concerns\\\\{closure}(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#15 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(175): Laravel\\\\Lumen\\\\Application->sendThroughPipeline(Array, Object(Closure))
#16 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Concerns\\\\RoutesRequests.php(95): Laravel\\\\Lumen\\\\Application->dispatch(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#17 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\laravel\\\\lumen-framework\\\\src\\\\Testing\\\\Concerns\\\\MakesHttpRequests.php(361): Laravel\\\\Lumen\\\\Application->handle(Object(Laravel\\\\Lumen\\\\Http\\\\Request))
#18 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\tests\\\\API\\\\V1\\\\Users\\\\UsersTest.php(10): Laravel\\\\Lumen\\\\Testing\\\\TestCase->call('POST', 'api/v1/users', Array)
#19 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(1545): API\\\\V1\\\\Users\\\\UsersTest->test_should_create_a_new_user()
#20 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(1151): PHPUnit\\\\Framework\\\\TestCase->runTest()
#21 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestResult.php(726): PHPUnit\\\\Framework\\\\TestCase->runBare()
#22 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestCase.php(903): PHPUnit\\\\Framework\\\\TestResult->run(Object(API\\\\V1\\\\Users\\\\UsersTest))
#23 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestCase->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#24 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#25 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\Framework\\\\TestSuite.php(677): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#26 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\TestRunner.php(670): PHPUnit\\\\Framework\\\\TestSuite->run(Object(PHPUnit\\\\Framework\\\\TestResult))
#27 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\Command.php(143): PHPUnit\\\\TextUI\\\\TestRunner->run(Object(PHPUnit\\\\Framework\\\\TestSuite), Array, Array, true)
#28 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\src\\\\TextUI\\\\Command.php(96): PHPUnit\\\\TextUI\\\\Command->run(Array, true)
#29 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\phpunit\\\\phpunit\\\\phpunit(98): PHPUnit\\\\TextUI\\\\Command::main()
#30 C:\\\\xampp\\\\htdocs\\\\dashboard\\\\Azmoon\\\\vendor\\\\bin\\\\phpunit(110): include('C:\\\\\\\\xampp\\\\\\\\htdocs...')
#31 {main}
"}
کنترلر من هم این هست
namespace App\\Http\\Controllers\\API\\V1;
use App\\Http\\Controllers\\Controller;
use App\\repositories\\contracts\\UserRepositoryInterface;
use Illuminate\\Http\\Request;
class UsersController extends Controller
{
public function __construct(private UserRepositoryInterface $userRepository)
{
}
public function store(Request $request)
{
$this->validate($request, [
'fullname' => 'required|string|min:3|max:255',
'email' => 'required|email',
'mobile'=>'required|srting',
'password' => 'required',
]);
$this->userRepository->create($request->toArray());
return response()->json(
[
'success'=>true,
'message'=>'کاربر با موفقیت ایجاد شد',
'date'=>[
'fullname' => $request->fullname,
'email' => $request->email,
'mobile'=>$request->mobile,
'password' => $request->password,
]
])->setStatusCode(201);
}
}
و صفحه UserTest من این هست
namespace API\\V1\\Users;
class UsersTest extends \\TestCase
{
public function test_should_create_a_new_user()
{
$response = $this->call('POST','api/v1/users',[
'fullname' => 'rohollah',
'email' => 'rohollah@gmail.com',
'mobile'=>'09128670527',
'password' => '123456',
]);
$this->assertEquals(201,$response->status());
$this->seeJsonStructure([
'success',
'message',
'date'=>[
'fullname' ,
'email',
'mobile',
'password',
],
]);
}
// public function test_it_must_throw_a_exception_if_we_dont_send_parameters()
// {
// $response=$this->call('POST','api/vi/users',[]);
// $this->assertEquals(422,$response->status());
// }
}
صفحه Route
/** @var \\Laravel\\Lumen\\Routing\\Router $router */
$router->group(['prefix'=>'api/v1'], function () use ($router) {
$router->group(['prefix'=>'users'], function () use ($router) {
$router->post('','API\\V1\\UsersController@store');
});
});
صفحه App Provider
namespace App\\Providers;
use Illuminate\\Support\\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
public function boot()
{
$this->app->bind(UserRepositoryInterface::class,jsonUserRepository::class);
}
}
json repository
namespace App\\repositories\\json;
use App\\repositories\\contracts\\RepositoryInterface;
class JsonBaseRepository implements RepositoryInterface
{
public function create(array $data)
{
file_put_contents('user.json',json_encode($data));
}
public function update(int $id,array $data)
{
// return $this->model::where('id',$id)->update($data);
}
public function all(array $where)
{
// $query=$this->model::query();
// foreach($where as $key => $value)
// {
// $query->where($key,$value);
// }
// return $query->get();
}
public function delete(array $where)
{
// $query=$this->model::query();
// foreach($where as $key => $value)
// {
// $query->where($key,$value);
// }
// return $query->delete();
}
public function find($id)
{
// return $this->model::find($id);
}
}
و json user
namespace App\\repositories\\json;
use App\\repositories\\contracts\\RepositoryInterface;
class JsonBaseRepository implements RepositoryInterface
{
public function create(array $data)
{
file_put_contents('user.json',json_encode($data));
}
public function update(int $id,array $data)
{
// return $this->model::where('id',$id)->update($data);
}
public function all(array $where)
{
// $query=$this->model::query();
// foreach($where as $key => $value)
// {
// $query->where($key,$value);
// }
// return $query->get();
}
public function delete(array $where)
{
// $query=$this->model::query();
// foreach($where as $key => $value)
// {
// $query->where($key,$value);
// }
// return $query->delete();
}
public function find($id)
{
// return $this->model::find($id);
}
}
contracts ها
namespace App\\repositories\\contracts;
interface RepositoryInterface
{
public function create(array $data);
public function update(int $id,array $data);
public function all(array $where);
public function delete(array $where);
public function find($id);
}
قسمت user
namespace App\\repositories\\contracts;
use App\\repositories\\contracts\\RepositoryInterface;
interface UserRepositoryInterface extends RepositoryInterface
{
}
قسمت env.
APP_NAME=Lumen
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_TIMEZONE=UTC
LOG_CHANNEL=stack
LOG_SLACK_WEBHOOK_URL=
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
تمام قسمت هایی که احتمال میدادم مشکل از اینجاها باشه ارسال کردم اگر قسمت دیگری مدنظرتون هست بفرماید تا ارسال کنم و خواهشا اگر زمان بزارید مشکل منو حل کنید یک دنیا ممنون تون میشم ، خیلی سپاسگذارم.