내 laravel 앱에 대한 단위 테스트를해야합니다. 지금까지 나는 테스트를 코드화하기 시작했다. 그러나 내가 그것을 달렸을 때 내가 기대했던 것이 아니라, 지금까지 나는 인터넷 어디에서도 이것을 보지 못했다. 그래서 나는 어리 석거나 멍한 것을해야 할 것입니다. 그렇죠? 테스트에서laravel unit testing "phpunit"으로 올바른 응답을 제공하지 않음
이내 테스트 클래스/tests.php
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class Tests extends TestCase
{
public function testLoad(){
$this->call('GET', '/');
$this->assertResponseOk();
$response = $this->action('GET', '[email protected]');
$this->visit('/')
->see('Todo seznam');
$this->assertViewHas('tasks');
}
public function dbTest(){
$this->call('GET', '/delete');
$this->assertHasOldInput();
}
}
그래서 내가 phpunit을 (나는 우분투 16.04에있어)를 설치해야하고 내가 "phpunit을"내 프로젝트의 루트에 그것을 실행 추정 이 결과를 얻은 다른 모든 사람들처럼 :
.................................... ..........................................
Time: 70 ms, Memory: 4.00MB
PHP Fatal error: Uncaught Error: Call to undefined method PHPUnit_Framework_TestResult::warningCount() in /usr/share/php/PHPUnit/TextUI/ResultPrinter.php:185
Stack trace:
#0 /home/matic/Documents/todo-app/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(446): PHPUnit_TextUI_ResultPrinter->printResult(Object(PHPUnit_Framework_TestResult))
#1 /usr/share/php/PHPUnit/TextUI/Command.php(155): PHPUnit_TextUI_TestRunner->doRun(Array)
#2 /usr/share/php/PHPUnit/TextUI/Command.php(106): PHPUnit_TextUI_Command->run(Array, true)
#3 /usr/bin/phpunit(29): PHPUnit_TextUI_Command::main()
#4 {main}
thrown in /usr/share/php/PHPUnit/TextUI/ResultPrinter.php on line 185
. ........................................ .....................................
많은 파일이 변경되지 않았습니다. whasoever.
그렇다면 나는 단지 새로운 프로젝트를 만들고 phpunit을 만들 것이라고 생각했지만 그 결과는 같았지만 더 많은 오류가있었습니다.
.............................................. ..............................
Time: 107 ms, Memory: 10.00MB
PHP Fatal error: Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Container/Container.php:748
Stack trace:
#0 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build('Illuminate\\Cont...', Array)
#1 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('Illuminate\\Cont...', Array)
#2 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(154): Illuminate\Foundation\Application->make('Illuminate\\Cont...')
#3 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(79): Illuminate\Foundation\Bootstrap\HandleExceptions->getExceptionHandler()
#4 [internal function]: Illuminate\Foundation\Bootstrap\HandleE in /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 748
PHP Fatal error: Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Container/Container.php:748
Stack trace:
#0 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build('Illuminate\\Cont...', Array)
#1 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('Illuminate\\Cont...', Array)
#2 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(154): Illuminate\Foundation\Application->make('Illuminate\\Cont...')
#3 /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(79): Illuminate\Foundation\Bootstrap\HandleExceptions->getExceptionHandler()
#4 /home/matic/Documents/unit/vendor/laravel/framework/src/Illu in /home/matic/Documents/unit/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 748
............. .................................................. ............
나는 여기에 뭔가 비린내가 있다고 생각하는데 잘못 되었습니까?
어떻게 수정해야합니까? 정상입니까?
어떤 도움을 주셔서 감사합니다. 저는 큰 도움이 될 것입니다.
Laravel는 phpunit을의 그것의 자신의 버전과 함께 제공 작동합니다. 프로젝트 디렉터리에서'vendor/bin/phpunit'을 실행하십시오. – maxwilms
See,이 전에 시도했지만 그것은 나를 위해 작동하지 않았다,하지만 지금은 신선한 설치 시도하고 작동하지만 제 경우 내 프로젝트에서 그것은 명령을 찾을 수 없다고하지만 파일이 거기에 모든 것입니다 – EdwardMaiden
나는 약간의 시간을 절약 할 수있는 도움이 된 사람이 아무도 없다. 그러나 여기에 간다. Idk가 무슨 문제인지는 모르겠지만 공급 업체 폴더 **를 삭제하고 ** 작곡가 설치 **를 실행했습니다.이 파일은 repalced이며 이제는 작동합니다. – EdwardMaiden