首先,对不起我的英语!
我正在使用 codeception 编写功能测试,我正在使用 ZF2 模块,到目前为止,所有东西都运行良好。当我尝试提交表单时出现问题,测试似乎正确发送参数,但 $_POST 始终为空。
我的 ExampleCept.php
$I = new TestGuy($scenario);
$I->wantTo('perform actions and see result');
$I->amOnPage('/user/login');
$I->submitForm('#login', ['email' => 'teste123@teste.com.br', 'password' => '789456']);
$I->seeCurrentUrlEquals('/user/login');
vendor/bin/codeception run --debug
输出
* I submit form "#login",{"email":"teste123@teste.com.br","password":"789456"}
array(0) {
}
=> [Response] 200
=> [Page] http://localhost/user/login
* I see current url equals "/user/login"
=> [Uri] /user/login
=> [Method] post
=> [Parameters] {"email":"teste123@teste.com.br","password":"789456"}
=> [Response] 200
=> [Page] http://localhost/user/login
用户控制器::loginAction()
public function loginAction() {
$form = new LoginForm ( 'login' );
$request = $this->getRequest ();
if ($request->isPost ()) {
var_dump($_POST);
...
请注意,我的操作中的 var_dump 行是在“* 我提交表单”之后调用的,所以 POST 来了!
那么,谁能帮帮我?谢谢!
已编辑
我已经用 WebGuy API(接受)尝试了相同的测试,并且成功了。但是,测试必须由 Jenkins 执行,并且 WebGuy 需要一个 http 服务器来运行,那么我真的需要 TestGuy 测试工作