我正在尝试测试我的表格。我读了:
但是我得到了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();
}
希望此帮助