2016-07-13 69 views
0

我需要爲我的laravel應用程序進行單元測試。到目前爲止,我已經開始編寫測試代碼,但是當我運行它時,它不是我所期望的,到目前爲止,我還沒有在互聯網上的任何地方看到這一點。所以我一定在做一些愚蠢的事情或錯過了一些事情,對吧?在測試中laravel單元測試沒有給出正確的響應與「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(我是在Ubuntu 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 

。 ........................................ .....................................

一堆文件我做了沒有改變無論如何。

然後我想我會在那裏做一個新的項目和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

看,我以前試過,但它沒有爲我工作,但現在我嘗試了一個全新的安裝,它的工作原理,但在我的情況下,在我的項目中說,沒有找到命令,但該文件在那裏,一切 – EdwardMaiden

+0

我有點難過,沒有人能幫我節省一些時間。但是在這裏。 Idk什麼問題是,但我**刪除供應商文件夾**並運行**作曲家安裝**,它已經repalced它,現在它的工作。 – EdwardMaiden

回答

0

我有點傷心沒有人幫助可能救了我一些時間。但是在這裏。 IDK的問題是什麼,但我刪除的文件夾,供應商和作曲家安裝,這條代替它,現在它的工作原理