by shigemk2

当面は技術的なことしか書かない

simpletest

asset系メソッドの使用について

asset系メソッドの使用は、1つのテストメソッドにつき1つに限定すべき。

assert系メソッドの使用回数について

assert系のメソッドは、はテスト関数 1つにつき、1回の使用にした方がよい。 何をテストしているのか分からなくなるから。

Undefined offset: 0 [CORE/cake/tests/lib/code_coverage_manager.php, line 294]

とあるコンポーネントでテストをして、Analyze Code Coverageをクリックすると、 Undefined offset: 0 [CORE/cake/tests/lib/code_coverage_manager.php, line 294] なる警告が出た。当該箇所のコードを見てみると、

simpletestで発生したエラーのメモ

たとえばこんな感じのコントローラーとテストコードを 書いてみる。 各関数は内部でコンポーネントやモデル内のメソッドを呼び出しているコントローラー Component->fuga(); // 処理.... } function foo() { // 処理.... $this->Model->bar(); // 処理.... }…

リダイレクト関数を含むコントローラーでtestActionを実行するとテストが実行されずリダイレクトされる

CakeTestCaseでtestActionを実行すると別のページにリダイレクトされちゃう問題 - いとうまさしのカチャカチャTODAY redirectを含むコントローラーをtestActionでテストしようとしたら、 テスト結果が出ずに通常のビューにリダイレクトしてしまった。 これを…

testActionメソッドの第二引数

502 Bad GatewaytestActionメソッドには2つのパラメータがあり、 第一引数でURL(パラメータもつけられる)を、第二引数(オプション)で 配列を指定出来る。配列の内容は以下の4つ。return 戻り値として得られるべきものを定義する。 有効な値は次の通り。 'var…

コントローラのテスト

502 Bad Gatewayコントローラのテストを行いたいときは、testActionメソッドを使用する。 testAction('/コントローラ名/メソッド名/パラメータ', array('fixturize' => true, 'data' => $data, 'method' => 'post')); debug($result); // テストを行う

assertPattern と assertNoPattern

DCWiki boolean assertPattern (string $pattern, string $subject, [string $message = "%s"]) 特定の文字列に指定したパターンがマッチすれば成功。パターンはPerlの正規表現で記述する。バージョン1.0.1alpha以降で利用できる。 assertPattern($pattern, …

assertNull と assertNotNull

DCWiki boolean assertNull (null $value, [string $message = "%s"]) このメソッドは、引数の型がNULL以外の場合テストに失敗する。 以下のテストは両方とも成功。 assertNull($target, 'type is ' . gettype($target)); //未定義の変数はNULLなので成功 $t…