繁体   English   中英

laravel单元测试未使用“ phpunit”给出正确的响应

[英]laravel unit testing not giving right response with “phpunit”

我需要为laravel应用进行单元测试。 到目前为止,我已经开始对测试进行编码,但是当我运行它时,它返回的结果并不符合我的预期,到目前为止,我在互联网上的任何地方都没有看到它。 所以我一定在做些愚蠢的事情或缺少一些东西,对吧?

我在tests / 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', 'mainController@load');

    $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

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

我以为这里有鱼可不可以?

我应该如何解决这个问题? 正常吗

感谢您给我的任何帮助,我会非常高兴。

我有点伤心,没有人帮助我节省一些时间。 但是这里。 知道问题出在哪里,但是我删除了vendor文件夹并运行composer install ,重新安装了它,现在它可以了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM