2016-06-01 11 views
2

Wie in der Laravel-Dokumentation beschrieben, bietet Laravel eine sehr flüssige API, um HTTP-Anfragen an Ihre Anwendung zu stellen, die Ausgabe zu untersuchen und sogar Formulare auszufüllen. Siehe: https://laravel.com/docs/master/testing#application-testingTesten von Laravel 5.2.x benutzerdefiniertem Paket mit Laravel-API

Also, wie könnte ich ein benutzerdefiniertes Laravel-Paket mit Laravel API ohne vorherige Laravel-Installation testen?

Por Beispiel in einem Laravel Projekt können Sie HTTP-Anforderungen mit Laravel API wie folgt testen:

<?php 

use Illuminate\Foundation\Testing\WithoutMiddleware; 
use Illuminate\Foundation\Testing\DatabaseTransactions; 

class ExampleTest extends TestCase 
{ 
    /** 
    * A basic functional test example. 
    * 
    * @return void 
    */ 
    public function testBasicExample() 
    { 
     $this->visit('/') 
      ->see('Laravel 5') 
      ->dontSee('Rails'); 
    } 
} 

Wie ich gelesen, viele Menschen Laravel Package Unit Testing Helper nutzen, um ihre Pakete testet, aber dann können Sie nicht Laravel verwenden Methoden wie $this->visit('/'), um Ihren Test zu machen, oder ist das möglich?

Wenn es mit diesem Paket nicht möglich ist, wie kann ich Laravel API Tests in meinem Paket verwenden lassen?

Danke!

Antwort

0

Sie können TestCase in Ihren Pakettests noch erweitern. Angenommen, Ihr Paket befindet sich in der Position vendor/your_name/package_name. Sie können einfach vendor/bin/phpunit vendor/your_name/package_name ausführen und die Tests in diesem Paket werden ausgeführt.

+0

Sie benötigen jedoch eine vorherige Laravel-Installation. Gibt es eine Möglichkeit, dies ohne vorherige Laravel-Installation zu tun? – aleixfabra

+0

Was meinen Sie mit einer vorherigen Laravel-Installation? Du meinst vorherige Version? Ich verstehe nicht, warum du es würdest. – tnash

+0

Zuerst müssen Sie Laravel mit dem Composer create-project --prefer-distlaravel/laravel new_project installieren. Zweitens, installieren Sie Ihr Paket mit Composer install package_name. Und drittens, was Sie sagen: vendor/bin/phpunit vendor/ihr_name/package_name. Es ist nicht so? – aleixfabra