ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    PHPでスプラウトメソッドのテストコードを書く方法

    このエントリーを含むはてなブックマーク はてなブックマーク - PHPでスプラウトメソッドのテストコードを書く方法 あとで読む
    テストがないコードはレガシーコードだ!

    レガシーコード改善ガイド (Object Oriented SELECTION)
    マイケル・C・フェザーズ
    翔泳社
    2009-07-14
    ¥ 4,536


    古いPHPのシステムを改修する場合、スプラウトメソッドを追加して、限定的な単体テストを実施すれば良いでしょうか?

    ●スプラウトメソッド
    レバレッジメモ: レガシーコード改善ガイド - 西尾泰和のはてなダイアリー

    既存のレガシーコードに機能追加をする方法

    1: スプラウトメソッド
    テストされてない既存のコードに書き足すのではなく、新しいメソッドを作ってそれを呼び出すようにし、その新しいメソッドにテストを書く


    2: ラップメソッド
    テストされていない既存のメソッドの前か後ろに処理を付け足す場合、テストされていないメソッドの名前を変えて、元の名前で古いメソッドと新しく追加する機能の入ったメソッドを呼び出すようにし、その新しいメソッドをテストする。



    戦略編:スプラウト手法 - Strategic Choice

    「全体に十分なテストを行う時間がない」と判断した場合、まったく新しいコードを書くことで変更に対応します

    他のコードに極力影響のないように新しいコードを追加し、その部分だけテストをこしらえる作戦です。これを「スプラウト手法」と呼びます。

    「スプラウト(sprout)」は「発芽させる」「新芽」を意味します。レガシーコードの中に、テスト済みのコードが新しく作り込まれた状態を「発芽」にたとえて表現しています。

    スプラウトメソッド

    メソッドレベルで適用する「スプラウトメソッド」や、クラスレベルで適用する「スプラウトクラス」があります。
    また、この仲間に、デコレータを使用して機能を追加する「ラップメソッド」「ラップクラス」があります。




    ●PHPテストフレームワーク
    PHPで単体テストをする場合、PHPUnitなどのテストフレームワークを使うようです。

    PHPUnit
    Codeception

    PHPUnit – The PHP Testing Framework
    https://phpunit.de/

    PHPによるユニットテスト入門 from Hiromu Shioya


    TOM先生のテスト講座 - PHPプロ!

    PHPUnit3で始めるユニットテスト:特集|gihyo.jp

    PHPUnit マニュアル – 第2章 PHPUnit 用のテストの書き方

    Codeception - BDD-style PHP testing.
    http://codeception.com/

    初心者がテストコードを書くようになった経緯とオススメのテストフレームワーク | 株式会社インフィニットループ技術ブログ

    Codeceptionを使ってみた(1) 導入

    はじめてのフレームワークとしてのFuelPHP 改訂版
    鈴木 憲治
    ラトルズ
    2014-10-25
    ¥ 3,758


    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/1127-432c576d

    FC2Ad