Chronosを1.2へバージョンアップしよう

composer require cakephp/chronos:^1.2 setTestNow()メソッドがクラスを横断して時刻セットできるようなった! CakePHP 3.2以降、時刻操作クラスとして cakephp/chronos が採用されています。 CakePHP内ではChronosを継承した \Cake\I18n\FrozenTime, \Cake\I18n\Time, \Cake\I18n\FrozenDate, \Cake\I18n\Date を使用でき、データベースの時刻系のフィールドはこれらのクラスへマッピングされます。 ...

8月 10, 2018 · nojimage

2017年に公開した自作CakePHPプラグインの紹介

この記事は、 CakePHP Advent Calendar 2017 17日目の記事です。 前日の記事は sizuhiko さんの テストデータを簡単に作る方法 でした。 今日は、私 nojimage が2017年に公開したCakePHP 3向けのプラグインをだだだっと紹介したいと思います。 ...

12月 17, 2017 · nojimage

CakePHP 2.x メール送信内容のテストを行う

テストでメールを送信せずに、CakeEmailでのレンダリング内容を取りたい場合は、 // モックを作成 $CakeEmail = $this->getMock('CakeEmail', array('transportClass')); $CakeEmail->expects($this->any())->method('transportClass') ->will($this->returnValue(new DebugTransport())); // CakeEmailのMockをセット $TestTarget->CakeEmail = $CakeEmail; // ... $TestTargetを使った何らかのメール送信を含む処理 // text形式のメッセージを取得 $bodyText = $CakeEmail->message(CakeEmail::MESSAGE_TEXT); // html形式のメッセージを取得 $bodyHtml = $CakeEmail->message(CakeEmail::MESSAGE_HTML); // ... 適宜、値チェック てな感じで、CakeEmail::transportClass()をスタブ化してDebugTransportを返すようにする。で、CakeEmail::message()でbodyを取得する。 ...

4月 19, 2014 · nojimage

CakePHP 2.x + PHPUnit on NetBeans 第2版

2014-06-27 注記: NetBeans 8.0以降向けにCakePHP 2.x + PHPUnit on NetBeans 第3版を書きました。 先日、CakePHPのテストをNetBeans上で実行する記事を書きましたが、Fixtureの作成に問題がありそのままでは実用に堪えませんでした。 色々試行錯誤した結果、NetBeans側を修正することでFixtureの読み込みを行うようにするのがよい感じでしたのでその方法をご紹介します。 [ad] ...

3月 19, 2012 · nojimage

CakePHP2.0 + PHPUnit on NetBeans

CakePHP 2.0のリリースから3ヶ月が経ち、2.0での開発を検討することが多くなってきているかと思います。私もやっと昨年末辺りから各プラグインの移行等々2.0での開発を始めているところです。 今回は、NetBeans上で効率よくテストするための設定方法をご紹介します。この設定を行うことで、NetBeans上からテストの作成、実行、実装とテストの切替えが容易に行えるようになります。 2012-03-19注記: 本設定のみでは、CakePHPのFixtureを用いたテストを行うことができません。Fixtureを利用できるようにする方法についてはこちらで紹介しているのであわせてお読みください。 2012-01-24注記: 本設定方法では、CakePHPのFixtureを用いたテストを行うことができません。Fixtureを利用できるようにする方法を検討中です。(ご存知の方が居れば教えてください orz 0. CakePHP 2.0, PHPUnit のインストール これがないと始まりませんね。PHPUnitは、 第3章 PHPUnit のインストール を参考にインストールしましょう。 また、NetBeansからPHPUnitを利用できるように、NetBeansの環境設定でPHPUnitのパスを設定しておきます。 CakePHPのファイル取得は、gitが利用できるのであれば、github から clone するのが早いかと思います。 git clone https://github.com/cakephp/cakephp.git /path_to/cake_project CakeとPHPUnitの準備ができたらNetBeansでプロジェクトを作成します。 [ad] ...

1月 23, 2012 · nojimage

CakePHPのテストケースメソッド名は日本語でおK

CakePHPのテストケースメソッド名は日本語でも書けます。 メソッド名の頭に「test」とつけていればOK 実行結果: コンソールでの実行結果: ...

6月 2, 2011 · nojimage