Symfony 4 如何使用数据库测试

我为此功能创建了一个测试:


public function userRegistrationDatabase(String $email, String $keyRockId): object

{

    $entityManager = $this->getDoctrine()->getManager("gui");

    $user = new User();

    $user->setUserName($email);

    $user->setEmail($email);

    $user->setEnabled(true);

    $userRole = ['ROLE_USER','ROLE_ADMIN'];

    $user->addRole(implode(",",$userRole));

    $user->setKeyrockId($keyRockId);

    $entityManager->persist($user);

    $entityManager->flush();


    return $user;

}

我还创建了一个仅用于测试目的的 sqlite 数据库。问题是:在测试期间如何切换要使用的db?这是测试:


public function testUserRegistrationDatabase()

{

    $userManager = self::$kernel->getContainer()

        ->get('test.'. UserManagement::class);

    $mail = 'notexistinguser@mail.com';

    $keyRockId = '45091fd63a1';


    $user = $userManager->userRegistrationDatabase($mail,$keyRockId);


}

我想使用的数据库是:


self::$kernel->getContainer()

        ->get('doctrine')

        ->getManager('test_gui');

所以基本上函数使用getManager("gui")但在测试中我想使用getManager("test_gui").


慕妹3242003
浏览 129回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP