当前位置: 首页 > 知识库问答 >
问题:

Symfony表单测试成员函数create()为空

章安宜
2023-03-14

我正在测试我的状态。我读到:

但是我得到一个null异常

class MediaTypeTest extends TypeTestCase
{
    protected function setUp()
    {

    }

    protected function tearDown()
    {
    }

    // tests
    public function testMe()
    {

        $formData = array(
            'test' => 'test',
            'test2' => 'test2',
        );

        $form = $this->factory->create(MediaType::class);

        // submit the data to the form directly
        $form->submit($formData);

        $this->assertTrue($form->isSynchronized());
        $this->assertEquals(new Media(), $form->getData());

        $view = $form->createView();
        $children = $view->children;

        foreach (array_keys($formData) as $key) {
            $this->assertArrayHasKey($key, $children);
        }
    }
}

据我所知,生产线小车是:

$form=$this-

但我该如何解决?

我宣布:

PHPUnit测试/Unit/Form/MediaTypeTest.php

或通过代码欺骗:

php供应商/bin/codecept运行单元表单/MediaTypeTest.php

有什么想法吗?

共有1个答案

景建业
2023-03-14

工厂对象是在父测试类的设置方法中初始化的,所以您应该在testCase的set方法中调用(或者删除它的空实现)。

因此,一般来说,请记住在重写inherit方法时调用父类方法:

protected function setUp()
{
    parent::setUp();
}

protected function tearDown()
{
    parent::tearDown();
}

希望这有帮助

 类似资料:
  • 我很难在我的单链表程序中完成最后这些功能: 我不太知道如何做这些。这是我的密码 ##################################################################################### StringLinkedList。H 字符串单链表类StringLinkedList{Private://指向列表头部的指针StringNode*h

  • 带有电子邮件和密码的登录表单。我仍然得到另外两个错误

  • 问题内容: 我有一个实现一些WKNavigationDelegate函数的UIViewController,并且我想对这些函数中的逻辑进行单元测试。这是一个例子: 我希望我的单元测试确保基于WKNavigationAction的request.url用正确的WKNavigationActionPolicy调用DecisionHandler。 但是,我不知道如何测试此功能。当我运行测试项目时,在We

  • 当我尝试使用facebook对用户进行身份验证时,我可以将数据存储到用户表中,但无法将数据创建到soical_帐户中。因此,在出现错误后,会出现“调用成员函数创建()on null”。谁能给我一个解决方案,说明我错在哪里。 在我的社会账户控制中,我有以下方法 在我的数据库迁移中,我有用户和social_accounts用户与social_accounts有一对多的关系。 用户表: Social_a

  • 本文向大家介绍浅析成员函数和常成员函数的调用,包括了浅析成员函数和常成员函数的调用的使用技巧和注意事项,需要的朋友参考一下 在Coordinate类中,有一个Display()成员函数和一个Display() const常成员函数,代码如下 Display()成员函数和一个Display() const常成员函数是互为重载的,那么如果我们直接像下面这样调用该方法,会调用的是哪个呢? 那么运行下程序

  • 员函数调整客户的银行借贷(例如 BanLAccount 类的 private 数据成员)。 类通常提供 public 成员函数,让类的客户设置(写入)或读取(取得) private 数据成员的值。这些函数通常称为get和set。更具体地说,设置数据成员interestRate的成员函数通常称为setInterestRate,读取数据成员IntersetRate的值通常称为 getInterestR