Итак, я пишу основной пакет Laravel, и, похоже, я наткнулся на еще одну проблему, на этот раз с тестированием.Тестирование пакета Laravel
Пакет в разработке находится в настоящее время в папке packages
в корне проекта. Я изменил composer.json
файл пакета, чтобы включить зависимости, мне нужно
"require-dev": {
"phpunit/phpunit": "~4.0",
"laravel/laravel": "dev-develop"
}
Однако, всякий раз, когда я попробовать запустить phpunit tests
в папке пакета (который содержит папку с именем tests
вместе с испытанием образца), я получаю следующее сообщение об ошибке:
PHP Фатальная ошибка: Class 'Осветите \ Foundation \ Testing \ TestCase' не найден в /workspace/laravel/packages/sample/http-request/tests/HttpRequestTest.php на линии 8
тестовый файл - это только автогенератор:
<?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);
}
}
Любая идея, почему это не работает? Тесты приложений выполняются без сбоев, но само приложение не имеет зависимостей, кроме того, что находится в коробке.
РЕШЕНИЕ
Управляемый, чтобы заставить его работать независимо друг от друга за счет расширения PHPUnit_Framework_TestCase:
class HttpRequestTest extends PHPUnit_Framework_TestCase
Однако, бег нравится:
vendor/bin/phpunit packages/yourname/package-name/
работает так же, так что я выбрал его как ответ.
Спасибо, что решили добавить решение здесь. В будущем, пожалуйста, добавьте, что в качестве ответа ниже вопроса - нам нравится чистое разделение между Q & A здесь. Ура! – halfer