我需要爲我的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
.................. .................................................. ............
我錯在想這裏有什麼可疑的東西嗎?
我應該如何解決這個問題? 這是正常的嗎?
感謝您給我的任何幫助,我將會如此優秀。
Laravel,用它自己的版本的PHPUnit的。試着在項目目錄中運行'vendor/bin/phpunit'。 – maxwilms
看,我以前試過,但它沒有爲我工作,但現在我嘗試了一個全新的安裝,它的工作原理,但在我的情況下,在我的項目中說,沒有找到命令,但該文件在那裏,一切 – EdwardMaiden
我有點難過,沒有人能幫我節省一些時間。但是在這裏。 Idk什麼問題是,但我**刪除供應商文件夾**並運行**作曲家安裝**,它已經repalced它,現在它的工作。 – EdwardMaiden