<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Test on php-tips.com</title>
    <link>https://php-tips.com/tags/test/</link>
    <description>Recent content in Test on php-tips.com</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Fri, 10 Aug 2018 19:58:38 +0900</lastBuildDate>
    <atom:link href="https://php-tips.com/tags/test/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Chronosを1.2へバージョンアップしよう</title>
      <link>https://php-tips.com/2018/08/10/update-to-chronos-1-2/</link>
      <pubDate>Fri, 10 Aug 2018 19:58:38 +0900</pubDate>
      <guid>https://php-tips.com/2018/08/10/update-to-chronos-1-2/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;composer require cakephp/chronos:^1.2
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;setTestNow()&lt;/code&gt;メソッドがクラスを横断して時刻セットできるようなった！&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;CakePHP 3.2以降、時刻操作クラスとして &lt;a href=&#34;https://github.com/cakephp/chronos&#34;&gt;cakephp/chronos&lt;/a&gt; が採用されています。
CakePHP内ではChronosを継承した &lt;code&gt;\Cake\I18n\FrozenTime&lt;/code&gt;, &lt;code&gt;\Cake\I18n\Time&lt;/code&gt;, &lt;code&gt;\Cake\I18n\FrozenDate&lt;/code&gt;, &lt;code&gt;\Cake\I18n\Date&lt;/code&gt; を使用でき、データベースの時刻系のフィールドはこれらのクラスへマッピングされます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>2017年に公開した自作CakePHPプラグインの紹介</title>
      <link>https://php-tips.com/2017/12/17/my-cakephp-plugins-2017/</link>
      <pubDate>Sun, 17 Dec 2017 00:00:13 +0900</pubDate>
      <guid>https://php-tips.com/2017/12/17/my-cakephp-plugins-2017/</guid>
      <description>&lt;p&gt;この記事は、 &lt;a href=&#34;https://qiita.com/advent-calendar/2017/cakephp&#34;&gt;CakePHP Advent Calendar 2017&lt;/a&gt; 17日目の記事です。&lt;/p&gt;
&lt;p&gt;前日の記事は sizuhiko さんの &lt;a href=&#34;https://qiita.com/sizuhiko/items/0e9e11f55d8b9f220af0&#34;&gt;テストデータを簡単に作る方法&lt;/a&gt; でした。&lt;/p&gt;
&lt;p&gt;今日は、私 nojimage が2017年に公開したCakePHP 3向けのプラグインをだだだっと紹介したいと思います。&lt;/p&gt;</description>
    </item>
    <item>
      <title>CakePHP 2.x メール送信内容のテストを行う</title>
      <link>https://php-tips.com/2014/04/19/cakephp-2x-email-mock-tests/</link>
      <pubDate>Sat, 19 Apr 2014 00:14:38 +0900</pubDate>
      <guid>https://php-tips.com/2014/04/19/cakephp-2x-email-mock-tests/</guid>
      <description>&lt;p&gt;テストでメールを送信せずに、CakeEmailでのレンダリング内容を取りたい場合は、&lt;/p&gt;
&lt;pre class=&#34;lang:php decode:true &#34;&gt;// モックを作成
$CakeEmail = $this-&amp;gt;getMock(&#39;CakeEmail&#39;, array(&#39;transportClass&#39;));
$CakeEmail-&amp;gt;expects($this-&amp;gt;any())-&amp;gt;method(&#39;transportClass&#39;)
    -&amp;gt;will($this-&amp;gt;returnValue(new DebugTransport()));

// CakeEmailのMockをセット
$TestTarget-&amp;gt;CakeEmail = $CakeEmail;

// ... $TestTargetを使った何らかのメール送信を含む処理

// text形式のメッセージを取得
$bodyText = $CakeEmail-&amp;gt;message(CakeEmail::MESSAGE_TEXT);
// html形式のメッセージを取得
$bodyHtml = $CakeEmail-&amp;gt;message(CakeEmail::MESSAGE_HTML);	

// ... 適宜、値チェック

&lt;/pre&gt;
&lt;p&gt;てな感じで、&lt;code&gt;CakeEmail::transportClass()&lt;/code&gt;をスタブ化して&lt;code&gt;DebugTransport&lt;/code&gt;を返すようにする。で、&lt;code&gt;CakeEmail::message()&lt;/code&gt;でbodyを取得する。&lt;/p&gt;</description>
    </item>
    <item>
      <title>CakePHP 2.x &#43; PHPUnit on NetBeans 第2版</title>
      <link>https://php-tips.com/2012/03/19/cakephp-2x-phpunit-on-netbeans-2/</link>
      <pubDate>Mon, 19 Mar 2012 09:00:56 +0900</pubDate>
      <guid>https://php-tips.com/2012/03/19/cakephp-2x-phpunit-on-netbeans-2/</guid>
      <description>&lt;p&gt;&lt;strong style=&#34;color: red&#34;&gt;2014-06-27 注記: NetBeans 8.0以降向けに&lt;a href=&#34;http://php-tips.com/2014/06/28/cakephp-2-x-phpunit-on-netbeans-3/&#34; title=&#34;CakePHP 2.x + PHPUnit on NetBeans 第3版&#34;&gt;CakePHP 2.x + PHPUnit on NetBeans 第3版&lt;/a&gt;を書きました。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;先日、&lt;a href=&#34;http://php-tips.com/php/2012/01/cakephp2-0-phpunit-on-netbeans&#34;&gt;CakePHPのテストをNetBeans上で実行する記事&lt;/a&gt;を書きましたが、Fixtureの作成に問題がありそのままでは実用に堪えませんでした。&lt;/p&gt;
&lt;p&gt;色々試行錯誤した結果、NetBeans側を修正することでFixtureの読み込みを行うようにするのがよい感じでしたのでその方法をご紹介します。&lt;/p&gt;
&lt;p&gt;[ad]&lt;/p&gt;</description>
    </item>
    <item>
      <title>CakePHP2.0 &#43; PHPUnit on NetBeans</title>
      <link>https://php-tips.com/2012/01/23/cakephp2-0-phpunit-on-netbeans/</link>
      <pubDate>Mon, 23 Jan 2012 08:30:30 +0900</pubDate>
      <guid>https://php-tips.com/2012/01/23/cakephp2-0-phpunit-on-netbeans/</guid>
      <description>&lt;p&gt;CakePHP 2.0のリリースから3ヶ月が経ち、2.0での開発を検討することが多くなってきているかと思います。私もやっと昨年末辺りから各プラグインの移行等々2.0での開発を始めているところです。&lt;/p&gt;
&lt;p&gt;今回は、NetBeans上で効率よくテストするための設定方法をご紹介します。この設定を行うことで、NetBeans上からテストの作成、実行、実装とテストの切替えが容易に行えるようになります。&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color: red&#34;&gt;2012-03-19注記: 本設定のみでは、CakePHPのFixtureを用いたテストを行うことができません。&lt;a href=&#34;http://php-tips.com/php/cakephp-php/2012/03/cakephp-2x-phpunit-on-netbeans-2&#34; title=&#34;CakePHP 2.x + PHPUnit on NetBeans 第2版&#34;&gt;Fixtureを利用できるようにする方法についてはこちらで紹介している&lt;/a&gt;のであわせてお読みください。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color: red&#34;&gt;2012-01-24注記: 本設定方法では、CakePHPのFixtureを用いたテストを行うことができません。Fixtureを利用できるようにする方法を検討中です。（ご存知の方が居れば教えてください orz &lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;0. CakePHP 2.0, PHPUnit のインストール&lt;/h3&gt;
&lt;p&gt;これがないと始まりませんね。PHPUnitは、 &lt;a href=&#34;http://www.phpunit.de/manual/3.6/ja/installation.html&#34;&gt;第3章 PHPUnit のインストール&lt;/a&gt; を参考にインストールしましょう。&lt;/p&gt;
&lt;p&gt;また、NetBeansからPHPUnitを利用できるように、NetBeansの環境設定でPHPUnitのパスを設定しておきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://php-tips.com/wp-content/uploads/2012/01/0_phpunit.png&#34;&gt;&lt;img src=&#34;http://php-tips.com/wp-content/uploads/2012/01/0_phpunit.png&#34; alt=&#34;&#34; title=&#34;0_phpunit&#34; width=&#34;756&#34; height=&#34;466&#34; class=&#34;alignnone size-full wp-image-707&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CakePHPのファイル取得は、gitが利用できるのであれば、&lt;a href=&#34;https://github.com/cakephp/cakephp&#34;&gt;github&lt;/a&gt; から clone するのが早いかと思います。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git clone https://github.com/cakephp/cakephp.git /path_to/cake_project&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CakeとPHPUnitの準備ができたらNetBeansでプロジェクトを作成します。&lt;/p&gt;
&lt;p&gt;[ad]&lt;/p&gt;</description>
    </item>
    <item>
      <title>CakePHPのテストケースメソッド名は日本語でおＫ</title>
      <link>https://php-tips.com/2011/06/02/cakephp-testcase-method-allowed-japanese/</link>
      <pubDate>Thu, 02 Jun 2011 22:56:44 +0900</pubDate>
      <guid>https://php-tips.com/2011/06/02/cakephp-testcase-method-allowed-japanese/</guid>
      <description>&lt;p&gt;CakePHPのテストケースメソッド名は日本語でも書けます。&lt;/p&gt;
&lt;p&gt;メソッド名の頭に「test」とつけていればOK&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/1004459.js?file=japanese.test.php&#34;&gt;&lt;/script&gt;
&lt;p&gt;実行結果:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://php-tips.com/wp-content/uploads/2011/06/japanese-test-method.png&#34;&gt;&lt;img src=&#34;http://php-tips.com/wp-content/uploads/2011/06/japanese-test-method-300x122.png&#34; alt=&#34;&#34; title=&#34;japanese-test-method&#34; width=&#34;300&#34; height=&#34;122&#34; class=&#34;alignnone size-medium wp-image-614&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;コンソールでの実行結果:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
