gpt4 book ai didi

php - 谁能提供一些有关 Zend Framework 中表单单元测试的资源?

转载 作者:搜寻专家 更新时间:2023-10-31 21:17:24 25 4
gpt4 key购买 nike

如何在 zend 框架中测试表单?我的 zend 项目中有一个登录表单,Login.php 是:

<?php
class DEMO_Form_Login extends Zend_Form {

public function init() {
$this
->setMethod('post')
->addElementPrefixPaths(array(
'decorator' => array('DEMO_Decorator' => '../application/decorators'),
));

$this
->addElement('text', 'username', array(
'label' => _T('USERNAME'),
'required' => true,
'value' => '',
'filters' => array('StringTrim'),
'decorators' => array('ViewHelper')
))
->addElement('password', 'password', array(
'label' => _T('PASSWORD'),
'required' => true,
'value' => '',
'decorators' => array('ViewHelper')
))
->addElement('submit', 'submit', array(
'label' => _T('LOG_INTO'),
'ignore' => true,
'decorators' => array(
array('Submit', array('separator'=>'<br />')))
));
}

}

如何测试?谁能提供一些相关资源?

最佳答案

我想不出任何资源,但我可以举一个例子说明我会怎么做。

因此,我将创建一个 FormTestCase 类,如下所示:

class FormTestCase extends PHPUnit_Framework_TestCase {

private $_form;

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

}

然后可以按如下方式测试每个表单:

class DemoFormTest extends FormTestCase {

public function setUp() {
parent::setUp();
$this->_form = new My_Form_Demo();
}

public function testCorrectData() {
$mockInputData = array(
'username' => 'somename',
'password' => 'somepass',
'submit' => 'LOG_INTO'
);

$this->assertTrue($this->_form->isValid($mockInputData));
}

public function testInCorrectData() {
$mockInputData = array(
'username' => 'somename',
// password not given
'submit' => 'LOG_INTO'
);

$this->assertFalse($this->_form->isValid($mockInputData));
}

// some other tests
}

在上面的例子中 My_Form_Demosimplified表格的版本。我需要简化它,因为我没有你的自定义装饰器,我无法运行测试。可以看到我用于此示例的设置 here (连同我所有的其他测试)。

希望对您有所帮助。

关于php - 谁能提供一些有关 Zend Framework 中表单单元测试的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5803794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com