1

まず第一に、私の英語でごめんなさい!

私はコードセプションで機能テストを書いています.ZF2モジュールを使用していますが、これまでのところすべてがうまく機能しています. フォームを送信しようとすると問題が発生します。テストはパラメーターを正しく送信しているように見えますが、$_POST は常に空です。


私の ExempleCept.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 行は、" * I submit form" の直後に呼び出されるので、POST が来ることに注意してください!

それで、誰が私を助けることができますか?ありがとう!

編集済み

WebGuy API (受け入れ) で同じテストを試しましたが、うまくいきました。しかし、テストは Jenkins で実行する必要があり、WebGuy を実行するには http サーバーが必要です。TestGuy テストが機能する必要があります。

4

0 に答える 0