overburn overburn - 5 months ago 141
PHP Question

Testing a Laravel package

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.

Answer

This works for me:

class HttpRequestTest extends TestCase

And running test with:

vendor/bin/phpunit packages/yourname/package-name/
Comments