アクションのテスト

Kernelを再現するフレームワークがあってエラーになってもカーネルパニックなど起こさずに次のテストに移れたらなぁ・・とか考える。
PHPでも同じなんじゃないだろうか。


ファイルシステムのopen()関数がカーネルのsys_open()から呼ばれるように、AnyAction->execute()はフレームワークのコアから呼ばれる。
違いはフレームワークを作ってるのは自分だっていうこと。
なので、

  • アクションを実行して戻り値を得るテスト
  • テンプレート用の変数が適切に設定されているかどうかのテスト

  • ダミーの変数でHTMLを表示するテスト
    • HTML担当者が目視で確認、変数の設定はプログラムの外で行う

という機能があれば便利だ。


ここまで書いておいて、後者の方は既に実装できているじゃないかって気付いた。
あとは呼び出し方とディレクトリ構成を決めないと。Webから表示できる形で。



あと、アジャイルの本に受け入れテストは専用のスクリプト言語で書くのが良いと書いてある。
Webの場合に最低限必要なものは、リンクのチェックとテキストのチェック、フォームのチェックくらいか。

# TopPage.ini
[connect]
url = http://www.example.com/
;basicId = username
:basicPassword = password

[form:formname]
; フォーム内のタグが存在するかどうか
name1 = form:naxtaction
name2 = input:text
name3 = input:radio
name4 = input:radio
name5 = select
name6 = submit

[formexec:formname:isExecNextActionTest]
; 値を代入してsubmit後のページデータを返却
name2 = "test string"
name3 = 1
name5 = value4

[text]
text1 = "トップページ"
text2 = "Copyright"
text3 = "インフォメーション"

[link]
; 上でマッチしたテキストの名前が使われる

text3 = http://www.example.com/info
; または text3 = info.ini としてテストチェーン(?)

こんなのがあったら凄く便利な気がする。