Posts tagged test

[symfony] askeet 1日目

4

symfony を学習するために askeet を順番にやっていくことにしました。まずは1日目です。
(続きを読む…)

第3回 CakePHP 勉強会に参加しました

1

第3回CakePHP勉強会 – events.php.gr.jp

今回は申し込み開始から13分で満席になったそうです。基調講演(?)であった Gwoo の「次は参加するよ」というような話もありました。

ちなみに
“gwooがヨーロッパで講演” フォーラム – CakePHP Users in Japan

Gwooは良い機会であれば日本に行くことも可能だと言っています。

という話もあるので本当に来るのかも。

で、帰ってからブログに書くまでが勉強会ということなので(寝てしまいましたが)個人的な感想を書いておきます。
(続きを読む…)

CakePHP1.2 SimpleTest の小技

0

CakePHP で SimpleTest を使うときにちょっとした小技の紹介です。

<?php
class UsersControllerTestCase extends CakeTestCase {
    function startCase() {
        echo '<h1>Starting Test Case</h1>';
    }

    function endCase() {
        echo '<h1>Ending Test Case</h1>';
    }

    function startTest($method) {
        echo '<h3>Starting method '.$method.'</h3>';
    }

    function endTest($method) {
        echo '<hr/>';
    }

    function testIndex() {
        $result = $this->testAction('/users/index');
        debug($result);
    }
}
?>

(続きを読む…)

CakePHP1.2 SimpleTest のテストケースをまとめて実行する

1

ある程度テストケースが増えてくるといちいち App Test Cases からひとつづつテストを実行するのは面倒です。そこでグループ化してまとめてテストケースを実行する方法です。

テストケースのグループ化

app/tests/groups 以下に GroupTest を継承したクラスを作成する。
GroupTest を継承したクラスのファイル名は hoge.group.php のように .group.php を付ける。
まとめる対象はディレクトリかファイルを指定できる。
(続きを読む…)

CakePHP1.2 SimpleTest でコントローラのテストケースを作成

1

CakePHP1.2 SimpleTest でテストケースを作成する ではモデルのテストケースを作成したので今度はコントローラのテストケースを作成してみました。

コントローラのテストケースは app/tests/case/conrollers 以下に作成します。
app/tests/case/conrollers/user_controller.test.php

<?php
class UsersControllerTestCase extends CakeTestCase {
    function testIndexTitle() {
        $result = $this->testAction('/users/index', array('return'=>'render'));
        $this->assertPattern("/<title>TITLE<\/title>/", $result);
    }

    function testIndexSet() {
        $result = $this->testAction('/users/index', array('return'=>'vars'));
        $this->assertTrue(isset($result["users"]));
    }
}
?>

(続きを読む…)

CakePHP1.2 SimpleTest 値を検証する assert?メソッド

2

SimpleTest で使用する値を検証する assert?メソッド

assertTure

boolean assertTrue(boolean $result, [string $message])
$result が true か
(続きを読む…)

CakePHP1.2 SimpleTest でテストケースを作成する

6

CakePHP1.2 に SimpleTest をインストール で SimpleTest をインストールするところまでやったので、今度は実際にテストケースを作成してみます。

空のテストケースを作成する

app/test/cases/models に user.test.php を作成して以下のコードで保存する。

<?php
class UserTest extends User {
}
?>

(続きを読む…)

CakePHP1.2 に SimpleTest をインストール

2

CakePHP1.2 では SimpleTest を使用したユニットテストが行えます。

テスト実行用スクリプトは app/webroot/test.php です。ブラウザからこのスクリプトへアクセスします。
test suite
(続きを読む…)

WordPress テーマを作成する(1)

4

WordPress用のテーマを作ってみようと思います。始めて作成するのですが、作成過程を投稿していきます。まずは第1回目です。

テーマフォルダを作成する

wp-content/themes/ 以下にテーマ用のディレクトリを作成します。
今回は test というディレクトリを作成しました。

CSS ファイルを作成する

作成したテーマディレクトリに style.css を作成します。
style.css には必要最低限の項目を書いておきます。

/*
Theme Name: Test Template
Theme URI: http://www.syuhari.jp/
Description: テーマ作成テスト用です。<a href='http://www.syuhari.jp/'>リンクも出来ます</a>
Author: Boze
Author URI: http://www.syuhari.jp/blog/
Version: 1.0
*/
Theme Name
テーマの名称。全角可。ここに書いた名称が管理画面のテーマ選択画面に表示される。
Theme URI
テーマのサイトURL。半角のみ
Description
テーマの説明。全角可。a タグでリンクも作成できる。ちなみに script タグなども書けました。タグはノーチェックかも。いいのかな?
Author
作成者名。全角可
Author URI
作成者のURI。半角のみ
Version
バージョン。半角のみ。ここに書いたバージョン番号が管理画面のテーマ選択画面のテーマ名の後に表示される。

全角を入れたときには文字コードを UTF-8 にする必要があります。

index.php を作成する

作成したテーマディレクトリに index.php を作成して、最低限のコードを書く。

< ?php get_header(); ?>
< ?php get_sidebar(); ?>
< ?php get_footer(); ?>

テーマを見てみる

ここまで出来たら最低限のファイルはそろったので管理画面よりテーマを選択して実際にどういう風に見えるか確認してみます。
管理画面の「表示」を選択すると作成したテーマが一覧にあるので、選択します。
下が現在のサイトの様子です。(クリックで大きな画像が見れます。)
wp1.png

まだ、検索用のファイルなどを作成していないので Warning など出てますがシンプルな WordPress のページが表示されています。

CakePHP1.2 バッチ処理

2

CakePHP1.2 にシェル機能というのがあるのを知りました。下記エントリでメールからの処理を実際に行う方法が紹介されています。
メール受信からのシェル機能実行 – Writing Some Code

ちょうど CakePHP1.2で開発中のシステムで cron でのバッチ処理があるのでそれに応用してみたときのメモです。

バッチ処理で実行させるシェル機能を作成

今回は test という名前のシェル名にします。
app/vendors/shells/test.php を作成します。

< ?php
class TestShell extends Shell {

    var $uses = array('Model');

    function actionName(){
        /* 実際の処理を書きます */
        /* $this->uses に追加したモデルが使用できます */
        $lists = $this->Model->findAll();
    }
}
?>

シェルスクリプト

下記のようなシェルスクリプトを作成して cron から実行させます。

#!/bin/sh
cd /path/to/app
../cake/console/cake test actionName

シェルスクリプトなしで直接 cake を実行する方法もある

cake を実行するときにカレントディレクトリが app でないとだめなのですが、
-app /path/to/app
のように -app オプションで実行時に app のパスを指定することもできます。
その場合は下記のようになります。
/path/to/cake/console/cake test actionName -app /path/to/app
これを直接 cron から実行させればシェルスクリプトなしでも実行できます。

その他

vendors/shells 内のファイルですが、ファイル名が hoge_foo.php だった場合、クラス名は HogeFooShell ですが、実行するときは
cake/console/cake hoge_foo actionName
となるようです。

Go to Top