2016-07-13 2 views
0

내 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 

............. .................................................. ............

나는 여기에 뭔가 비린내가 있다고 생각하는데 잘못 되었습니까?

어떻게 수정해야합니까? 정상입니까?

어떤 도움을 주셔서 감사합니다. 저는 큰 도움이 될 것입니다.

+0

Laravel는 phpunit을의 그것의 자신의 버전과 함께 제공 작동합니다. 프로젝트 디렉터리에서'vendor/bin/phpunit'을 실행하십시오. – maxwilms

+0

See,이 전에 시도했지만 그것은 나를 위해 작동하지 않았다,하지만 지금은 신선한 설치 시도하고 작동하지만 제 경우 내 프로젝트에서 그것은 명령을 찾을 수 없다고하지만 파일이 거기에 모든 것입니다 – EdwardMaiden

+0

나는 약간의 시간을 절약 할 수있는 도움이 된 사람이 아무도 없다. 그러나 여기에 간다. Idk가 무슨 문제인지는 모르겠지만 공급 업체 폴더 **를 삭제하고 ** 작곡가 설치 **를 실행했습니다.이 파일은 repalced이며 이제는 작동합니다. – EdwardMaiden

답변

0

저는 아무도 도움이되지 않아 슬픈 표정이었습니다. 그러나 여기에 간다. 문제가 무엇인지 나도 몰라,하지만 난 공급 업체 폴더을 삭제 작곡가를 repalced하는를 설치 실행하고 지금은