1

テストのためにコントローラーを設定して実行する方法を知っています。

フレームワークのリンクを参照してください https://bitbucket.org/kenjis/my-ciunit

しかし、与えられたテストデータ入力をどのように定義できますか? もちろん、 $_GET と $_POST を自分で設定できますが、入力ライブラリはこれを再解析しますか?

Googleで答えが見つかりません。また、なぜ Codeigniter Testing の Google の結果がこれほど貧弱なのか疑問に思っています。

<?php

/**
  * @group Controller
  */

class SomeControllerTest extends CIUnit_TestCase
{
public function setUp()
{
    // Set the tested controller
    $this->CI = set_controller('welcome');
}

public function testWelcomeController()
{

    // Call the controllers method
    $this->CI->index();

    // Fetch the buffered output
    $out = output();
            $viewData = viewvars();

    // Check if the content is OK
    $this->assertSame(0, preg_match('/(error|notice)/i', $out));
}

    public function testInput(){

        //reset $_GET and $_POST?

        $this->CI->login();

        //assert valid login etc ...
    }

}

4

1 に答える 1

1

はい。テスト設定で、または最も意味のある場所で、自分で$_GET値と$_POST値を手動で設定する必要があります。例:

public function setUp()
{
    // Set the tested controller
    $this->CI = set_controller('welcome');
    // Set up the input values
    $_GET['parameter_1'] = 'Some String';
    $_GET['parameter_2'] = 123;
}
于 2012-12-11T01:19:15.130 に答える