Symfony表单测试成员函数在NULL上创建()



我正在尝试测试我的表格。我读了:

但是我得到了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-> factory-> create(Mediatype :: class);

但是我该如何解决?

我启动:

phpunit Tests/unit/form/mediatypetest.php

或通过codeception:

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

有什么想法?

在父测试类的设置方法中初始化了出厂对象,因此您应该在testcase setup方法中调用parent(或删除其空的空置实现)

一般而言,当您覆盖继承方法时,请记住调用父类方法:

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

希望此帮助

相关内容

  • 没有找到相关文章

最新更新