BonBonSlick
@BonBonSlick
Vanilla Full Stack Web Architector

Зависимость тестов от тестов из других кейсов в другом namespace?

<testsuites>
        <testsuite name="Functional Test Suite">
            <directory>tests/Functional/UrlAvailability</directory> // check if all url available
            <directory>tests/Functional</directory> // after run other test which depends on test from above folder
        </testsuite>
    </testsuites>


Прогоняем каждую ссылку и проверяем есть ли к ней доступ, по сокльку если ссылка не доступна, нет смысла вызывать пол сотни других тестов, к примеру которые проверяют форму, перевод, кнопки, поля, данные, валидацию и прочее.
namespace App\Tests\Functional\UrlAvailability;
final class PublicUrlAvailabilityTest extends FunctionalTestCase
{
    /**
     * Urls only for NOT logged users
     *
     * @test
     *
     * @dataProvider onlyForNotAuthenticatedUrls
     *
     * @param string $url
     */
    public function pagesAvailableForNotAuthenticatedUser(string $url): void
    {
        $client = self::createClient();
        $client->request(Request::METHOD_GET, $url);

        static::assertTrue($client->getResponse()->isSuccessful(), \sprintf('In %s for %s', __FUNCTION__, $url));
    }

    /**
     *
     * @return array
     */
    public function onlyForNotAuthenticatedUrls(): array
    {
        return [
            ['/login/'],
            ['/forgot-pass/'],
            ['/reset-pass/'],
        ];
    }

Однако етот тест то вызван 3 раза на 3 ссылки, не ясно как другие тесты можно подвязать в зависимость к данному тесту.

Етот тест всегда пропущен, так даже если все тесты на pagesAvailableForNotAuthenticatedUser прошли.
namespace App\Tests\Functional;
class LoginControllerTest extends FunctionalTestCase
{
    /**
     * Test if an inactive user can login.
     *
     * @depends \App\Tests\Functional\PublicUrlAvailabilityTest::pagesAvailableForNotAuthenticatedUser
     *
     * @test
     */
    public function inactiveUserCanLogin(): void
    {


Так как связать зависимости тестов которые лежать в разных namespace?
И как быть если первый тест вызван с dataProvider? Ведь тогда он будет вызван много раз на каждую запись отдельно.
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы