タグ

cakePHPとテストに関するsatoshieのブックマーク (6)

  • CakePHP + MySQL アプリのテスト時間を 72% 削減した話

    この記事は CakePHP Advent Calendar 2018 の23日目の記事です。 CakePHP アプリケーションのユニットテストでボトルネックになりがちなのがデータベースへのディスク I/O 時間ですが、そういったプロジェクトでは FriendsOfCake/fixturize プラグイン を導入すると大幅に高速化できる可能性があります。 GitHub – FriendsOfCake/fixturize: CakePHP3: Improve performance of your fixture based tests on MySQL. 実例として、テストに18分も掛かっていた MySQL を使ったプロジェクトありましたが、導入後なんと5分にまで短縮されました。(約 72% の高速化🎉) 結果として早いサイクルで CI を回せるようになり開発スピードも上がりました。 何が

    CakePHP + MySQL アプリのテスト時間を 72% 削減した話
  • CakePHP Fixture Factories を導入しました - コネヒト開発者ブログ

    こんにちは。プロダクト開発部の @su-kun1899 です。 今回はママリの CakePHP アプリケーションに Fixture Factories を導入した事例を紹介します。 Fixture Factories とは何か Fixture Factories は、モデルやデータベースに依存するテストコードにおいて、テーブルの作成やデータ初期化を行うためのプラグインです。 github.com CakePHP には元々 Fixture という仕組みが提供されていますが、 Fixture Factories はより柔軟に扱うことができます。 https://book.cakephp.org/4/en/development/testing.html#test-fixtures 導入したきっかけ アプリケーションの規模が大きくなり、機能が増えてくると、テーブル(モデル)ごとに一律データを管理

    CakePHP Fixture Factories を導入しました - コネヒト開発者ブログ
  • CakePHP4でRoutingのテスト - kaz29

    最近React+TypeScriptばかりで、CakePHPのコードはあまり書いていないわたなべです。 Routingのテスト CakePHP1の頃の新原さんのブログ(なんと2009-05-25の記事、11年前!?)でも書かれているように、routes.phpの設定変更は、思わぬバグを出す可能性があるので、UnitTestでの動作確認は必須だと思っています。 CakePHP3までは、以下のような感じでテストできていましたが、CakePHP4でRoutingがmiddleware化した影響などでそのままでは動作しません。 <?php declare(strict_types=1); ... use Cake\Network\Request; ... public function testRouting($request, $expected) { $request = new Reques

    CakePHP4でRoutingのテスト - kaz29
  • 資産価値の高いテストを書くためにFabricateを使い始めました - BASEプロダクトチームブログ

    Product Dev Divisionの川島(@nazonohito51)です。 BASEでは創業当時よりCakePHPによるWebアプリケーション開発を行っており、同時にそのテストも充実させてきました。ですがその過程で気づくのは、CakePHP標準の仕組みだけではテストを増やせば増やすほどテストデータの管理が難しくなり、テストをメンテナンスするのが困難になる問題でした。きちんと長期的にサービスを良くしてくれる資産価値の高いテストが書けるように、今回はその問題と向き合い、解決するために@sizuhikoさんの開発されたFabricateというライブラリを導入したお話を書かせていただこうかと思います。 BASEの直面した課題 CakePHP2のFixtureという仕組み 詳細は公式ページを参照していただきたいのですが、CakePHP2にはテストデータを作るためのFixtureという仕組みが

    資産価値の高いテストを書くためにFabricateを使い始めました - BASEプロダクトチームブログ
  • cakephpのtestをもっとやりやすく - もがき系プログラマの日常

    はじめに こんばんは。 簡単な記事ですが、今回やった対応をブログにします。 現在cakephp3の案件をお手伝いしています。 今回はcakephpで使用する testとfixtureについてです。 cakephpのfixtureファイルは以下のような感じで、table構造と テストデータを一緒に記述できます。 <?php namespace App\Test\Fixture; use Cake\TestSuite\Fixture\TestFixture; class UsersFixture extends TestFixture { public $import = ['table' => 'users']; public $records = [ [ 'id' => 1, 'name' => 'kojirock', 'email' => 'kojikoji@example.com',

    cakephpのtestをもっとやりやすく - もがき系プログラマの日常
  • テストデータを簡単に作る方法 - Qiita

    CakePHP Advent Calendar 2017の16日目です。 @keisukefunatsu さんの昨日の記事は、codeceptionをcakephp3で扱ってみるチュートリアルでした。 CakePHPで自動テストを書いていますか? ちょうど1週間前に9日目の記事として、CakePHP3 のアプリケーションを Behat でテストする(update編)を書きました。これはE2Eですが、もちろんPHPUnit(など)を使った単体テストもあるでしょう。 CakePHPではfixtureという仕組みを使ってテストデータを作成できるようになっています。 この記事は、テストをするには避けては通れないテストデータについて、以下のような悩みを持っている方を対象とした内容になります。 fixture にテストデータを書くのが面倒 DBにカラムを追加したときに fixture を書き換えるのが

    テストデータを簡単に作る方法 - Qiita
  • 1