Как запустить php тесты в проекте Laravel для моего пакета - PullRequest
0 голосов
/ 16 марта 2019

У меня есть собственный пакет Laravel, и я хочу иметь возможность писать и создавать тесты для него.

Мой проект установлен в следующем каталоге в моем проекте ROOT/CompayName/package-name. Мои тесты находятся в ROOT/CompanyName/package-name/tests, а код - в ROOT/CompanyName/package-name/src.

В файле composer.json я загружаю свои тесты следующим образом

"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/",
        "CompayName\\ProjectName\\": "CompayName/package-name/tests/"
    }
},

Кроме того, я добавил следующее в phpunit.xml файл

<testsuite name="Unit">
    <directory suffix="Test.php">./tests/Unit</directory>
    <directory suffix="Test.php">./CompanyName/project-name/tests/</directory>
</testsuite>

Затем я создаю следующий тест

<?php

namespace CompanyName\ProjectName;

use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;

class SomeKindOfTest extends TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */
    public function ableToDoSomething()
    {       
        dd('ableToDoSomething was called!!!!!!!!!!!');
    }
}

Однако, когда я запускаю phpunit из командной строки, мой тест не запускается!

Как правильно запустить тесты в моей упаковке.

1 Ответ

0 голосов
/ 16 марта 2019

PHPUnit обычно запускает методы с именем test*, если вы не указали иначе в phpunit.xml.

Попробуйте переименовать свой тест:

public function testAbleToDoSomething() {}

PHPUnit также поддерживает специальную аннотацию /** @test */ внутри docblock:

/** @test */
public function ableToDoSomething() {}
...