- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Symfony 4 构建一个 Web 应用程序。我正在尝试从我的功能测试中加载固定装置。我创建了一个夹具类:
<?php
namespace App\DataFixtures;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class TestFixtures extends Fixture
{
private $encoder;
public function __construct(UserPasswordEncoderInterface $encoder)
{
$this->encoder = $encoder;
}
public function load(ObjectManager $em)
{
$user = new User();
$user->setUsername('user@gamil.com');
$user->setIsActive(true);
$user->setEmail('user@gmail.com');
$user->setFirstName('John');
$user->setLastName('Doe');
$user->setSchool($school);
$user->setRoles(['ROLE_USER']);
$password = $this->encoder->encodePassword($user, 'pass1234');
$user->setPassword($password);
$em->persist($user);
$em->flush();
return $user;
}
}
我已经配置了 services_test.yaml 来将服务传递给 fixture:
services:
_defaults:
public: true
App\DataFixtures\TestFixtures:
arguments: ['@security.password_encoder']
但是,当我尝试运行我的测试时,出现以下错误:
ArgumentCountError:函数 App\DataFixtures\TestFixtures::__construct() 的参数太少,在第 38 行/Development/app/src/Test/ApiTestCase.php 中传递了 0 个参数,而预期正好是 1 个
这是我的测试用例中的函数:
protected function setUp()
{
$this->client = self::$staticClient;
$this->purgeDatabase();
$em = $this->getEntityManager();
$fixture = new TestFixtures();
$fixture->load($em);
}
提前感谢您就此提供的任何建议...
最佳答案
你正在实例化一个类:$fixture = new TestFixtures();
而您需要它作为一项服务。您需要执行此操作 $fixture = new TestFixtures(encoder);
其中 encoder
是实例化类或编码器类的模拟,或者从客户端容器中检索 TestFixtures
类。我不完全确定但试试$fixture = $this->client->getContainer()->get('App\DataFixtures\TestFixtures');
关于symfony - 夹具的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51218794/
是否可以设置一个夹具来创建数据库 View 而不是 CakePHP 中的数据库表?在创建表的夹具和另一个应该是数据库 View 的夹具中使用相同的数据似乎效率低下。 最佳答案 我设法这样做,其中 vi
与这个锦标赛赛程算法作斗争。 代码运行良好,但我需要帮助将数据插入 mysql我似乎无法访问 $varables.. 非常感谢 php 专家的任何调整 ... $teamnames = "Arsena
我正在尝试开始使用 Symfony2,并一直在尝试为我的应用程序的模型层设置自动化测试。 Symfony2 书讨论了 Controller 的单元测试,但我找不到很多模型测试的示例。 我希望在每次测试
我想为我的测试使用一个通用的夹具: @RunWith(JUnitPlatform::class) abstract class BaseSpek: Spek({ beforeGroup {pr
使用这个固定装置,我想根据 before 固定装置 Hook 中 API 调用的结果设置 checkoutId,这样我就可以用它来设置页面我的测试 let checkoutId; fixture`Ch
我尝试过各种尝试。这是我最新的。我只是想 stub Axios 请求并返回固定装置。 const { expect } = require('chai'); const sinon = require
我是一名优秀的程序员,十分优秀!