jeudi 5 mai 2016

Testing a Laravel package [SOLVED]

So, I'm writing a basic Laravel package and I seem to have stumbled upon yet another problem, this time with testing.

The package in development is currently in a packages folder in the root of the project. I have modified the composer.json file of the package to include the dependencies I need

"require-dev": {
    "phpunit/phpunit": "~4.0",
    "laravel/laravel": "dev-develop"
}

However , whenever I try running phpunit tests in the package folder (which contains a folder named tests along with a sample test), I get the following error:

PHP Fatal error: Class 'Illuminate\Foundation\Testing\TestCase' not found in /workspace/laravel/packages/sample/http-request/tests/HttpRequestTest.php on line 8

The test file is just the auto-generated stub:

<?php

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

class HttpRequestTest extends Illuminate\Foundation\Testing\TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */
    public function testExample()
    {
        $this->assertTrue(true);
    }
}

Any idea why this isn't working? The app tests run without a hitch, but the app itself doesn't have dependencies other than what's in the box.

UPDATE - SOLVED

Managed to make it work independently by extending the PHPUnit_Framework_TestCase:

class HttpRequestTest extends PHPUnit_Framework_TestCase 

Aucun commentaire:

Enregistrer un commentaire