微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EasyAdmin 3 后端功能测试

如何解决EasyAdmin 3 后端功能测试

我想在 EasyAdmin 3 后端运行功能测试。

基本上,我想确保普通用户无法访问页面、查看字段或查看/运行他们不允许执行的操作。

最好的方法是什么?有没有我错过的有用资源?

解决方法

EasyAdmin 3 Crud 控制器基本上是常规的 Symfony 控制器,因此它们可以像任何其他 Symfony 控制器一样进行测试。

<?php
// tests/Controller/AdminControllerTest.php
namespace App\Tests\Controller;

use App\Repository\UserRepository;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class AdminControllerTest extends WebTestCase
{
    // ...

    public function testVisitingWhileLoggedIn()
    {
        $client = static::createClient();
        $userRepository = static::$container->get(UserRepository::class);

        // retrieve the test user
        $testUser = $userRepository->findOneByEmail('john.doe@example.com');

        // simulate $testUser being logged in
        $client->loginUser($testUser);

        // test e.g. the admin page
        $client->request('GET','/admin');
        $this->assertResponseStatusCodeSame(403);
    }
}

EasyAdmin Crud Doc https://symfony.com/doc/current/bundles/EasyAdminBundle/crud.html

测试 Symfony https://symfony.com/doc/current/testing.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。