gpt4 book ai didi

ZF 表单验证后 PHPunit 测试未通过

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

我是 phpunit 测试的新手。任何人都可以帮助我如何测试图像中下面的行。

Img example

到目前为止我的测试是:

public function testCanSendEmail()
{
$formData = array(
'subject' => 'test subject',
'email' => 'test@mail.com',
'message' => 'test message',
'name' => 'test name');

$this->request
->setMethod('POST')
->setPost($formData);
$this->dispatch('/contact');
$this->assertAction('win');

我的印象是,如果验证成功,它会跟进整个操作吗?任何人都可以解释这里发生了什么,以及对这种行为的正确测试是什么。

最佳答案

显而易见的解释是 $form->isValid 返回 FALSE

coverage report显示有效表单的 if block 从未执行过。相反,执行了 else block 。您需要找出原因并消除原因。使用调试器并逐步执行流程以查看运行时发生了什么。

作为替代方案,您可以 stub 联系表单以返回 TRUE。因为表单被硬编码到 Controller 操作中,请查看 http://sebastian-bergmann.de/archives/885-Stubbing-Hard-Coded-Dependencies.html关于如何做到这一点。

还有另一种选择:编写将联系表单发送到服务层的代码,以便在无需发出实际请求的情况下进行测试。

关于ZF 表单验证后 PHPunit 测试未通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4805392/

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