並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 692件

新着順 人気順

phpunitの検索結果1 - 40 件 / 692件

  • Nyle Engineering Blog

    OpenAIのWhisper文字起こし25MB制限を解決するPHP, Laravel, ffmpegを使ったファイル分割の例 OpenAIのAPIを使った音声の文字起こしは、今や多くのアプリケーションで利用されています。この記事では、特にWhisper文字起こしの25MB制限に焦点を当て、PHP, Laravel, ffmpeg…

      Nyle Engineering Blog
    • 休日個人開発で学ぶテストコード! 画像に“集中線”を合成するツールを作ってみよう - エンジニアHub|Webエンジニアのキャリアを考える!

      休日個人開発で学ぶテストコード! 画像に“集中線”を合成するツールを作ってみよう プライベートでも何か作りたい! そんなときの「今日からはじめる休日個人開発」シリーズ、第二弾はテストコードを書きながら簡単なMVCモデルの画像加工ツールを作ってみましょう。好きな写真に集中線を合成できます。 皆さん、プライベートで何か開発していますか? 「何か作りたい」という気持ちはあるものの、いまひとつ何から始めたらいいのか分からず、動けないままの人も多いと思います。 そんな皆さんのために、「仕事以外にも休日に個人で気軽に何かを作ってみよう!」という企画の第二弾です。今回は、第一弾で用意した開発環境を使って、画像を加工するツールを実際に作っていきます。 せっかくですので、ただ作るだけではなく、テストコードも一緒に書いてみましょう。最近は、CI(継続的インテグレーション)やCD(継続的デリバリー)も一般的にな

        休日個人開発で学ぶテストコード! 画像に“集中線”を合成するツールを作ってみよう - エンジニアHub|Webエンジニアのキャリアを考える!
      • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

        和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上

          これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
        • WEBアプリ開発に便利な機能&負荷テストツール集:phpspot開発日誌

          15 Free Functionality And Load Testing Tools For Web Applications WEBアプリ開発に便利な機能&負荷テストツール集。 プログラム変更後の品質チェックを行える機能テスト・ユニットテスト、負荷に耐えられるか確認するために負荷テストツール、で品質向上に役立てられます。 Selenium等の定番以外にも沢山の機能テストツールや負荷テストツールがあるみたいです。 機能テストツール集 Seleniumのようなブラウザを自動で直接動作させて表示結果を確認するツール うまく運用すれば、機能を変更した際の正常動作確認に神経をすり減らすことがなくなります SeleniumHQ おなじみのテスト自動化ツール テストケース定義で自動でブラウザ上でテストしてくれます Watir Rubyのブラウザ自動化ライブラリだそう。 Windowsだと、IE、F

          • オブジェクト倶楽部 - TOPページ

            当サイトは ... ソフトウェア開発に関する技術について実践、研究、発表するグループ、「オブラブ」のページです。 XP及びモデリング、PFについてのコミュニティや、ドキュメント、フリーソフトウェアで構成されています。

            • Efficient data transfer through zero copy

              IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

                Efficient data transfer through zero copy
              • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

                はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

                  PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
                • Laravel - ウェブ職人のためのPHPフレームワーク

                  ウェブ職人のためのPHPフレームワーク。 PHPに支障はありません。楽しくコーディングし、新しい息吹を楽しんでください。 RESTful ルーティング あなたの適用へのリクエストに応えるために簡単なクロージャーを使って下さい。 コマンド Your Data 素晴らしい Eloquent ORM と 素晴らしいマイグレーションシステムを完備しています。 美しいテンプレート 在来の PHP 、もしくは軽量の Blade テンプレート・エンジンを使用してください。Blade を好きになるでしょう。 明日の準備 Laravel は、いろいろな規模のプロジェクトに対応します。 実績のある土台 Laravel は Symfony コンポーネントの上に構築されます。 Composer で動く Composer はあなたの適用のサードパッケージを管理する、驚くべきツールです。 最高のコミュニティ Lara

                  • Python(というわりには少なめな)で土日を使ってサービスを作るための中途半端なモダン環境構築メモ

                    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

                      Python(というわりには少なめな)で土日を使ってサービスを作るための中途半端なモダン環境構築メモ
                    • PHPバージョンアップけもの道

                      at "PHPバージョンアップ kickoff" 2021/07/15 https://breaktimes.connpass.com/event/218221/

                        PHPバージョンアップけもの道
                      • PHPのモダンな開発環境を紹介する - Qiita

                        やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyやPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew

                          PHPのモダンな開発環境を紹介する - Qiita
                        • PHPUnit 3.4 Japanese Manual

                          Welcome to PHPUnit! PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.

                            PHPUnit 3.4 Japanese Manual
                          • TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ

                            導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi

                              TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
                            • PHPUnit でテスト駆動開発を始めよう

                              PHP と MySQL で 1 カチャカチャカチャ...ッターン! MapReduce (@ニコニコ超会議)Yuya Takeyama

                                PHPUnit でテスト駆動開発を始めよう
                              • 「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました

                                PHPカンファレンス関西2014で「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました。 写真提供:久岡写真事務所 別トラックに人気セッションがひしめく中、多くの方に聴いて頂き、ありがとうございましたm(_ _)m 発表内容 PHP 中級者(中級がどこかというのはありますが)を目指す初心者の方を対象に、FizzBuzz のコードを、関数にまとめて、クラス化するというのをライブコーディングで行いました。 また、関数にまとめた段階で、自動テストを書いて、実行結果を目で確認するのではなく、テストを実行して確認するというスタイルを取りました。 発表資料は以下です。 コードを書きながら進めていく形なので、資料だけでは少し伝わらない部分があるかもしれません。 デモで書いた PHP コードは、GitHub で公開しています。Sample1, Sample2 とディレクトリが分かれてい

                                • [lib] モックとスタブの違い

                                  TEST http://d.hatena.ne.jp/devbankh/201001 モックやスタブを使った効率的なユニットテスト http://d.hatena.ne.jp/devbankh/201002 モックとスタブの違い コミュニケーション http://d.hatena.ne.jp/devbankh/20051124 簡単かつ効果的に話すために "モックオブジェクト"という言葉は、テストのために本物のオブジェクトをまねる特殊なオブジェクトを表す言葉として定着した。しかしモックという言葉は元々スタブをキャッチーにしたものでなく、[スタブを使ったのとは別の] ユニットテスト方法を用いるためのものなのだ。この記事では、モックオブジェクトのファンに好まれる相互作用中心のテストと、よく行わている状態中心のテストスタイルとの違いを説明するために、モックとスタブの違いについて掘り下げる。 目次

                                    [lib] モックとスタブの違い
                                  • 特集:PHPUnit3で始めるユニットテスト|gihyo.jp

                                    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

                                      特集:PHPUnit3で始めるユニットテスト|gihyo.jp
                                    • PHPUnit と Selenium2 を使ってブラウザベースの自動テストを実行するための最初の一歩的な何かを発表してきた - 雑文発散(2013-03-09)

                                      ▼ [PHP][Selenium] PHPUnit と Selenium2 を使ってブラウザベースの自動テストを実行するための最初の一歩的な何かを発表してきた 「(CakePHPとか)PHPのテストについての勉強会」で「PHPUnit + Selenium2 First Step Guide」と題した発表をしてきた。 「First Step Guide」としたのは、これを見ながら「Selenium 環境を整備して、簡単な PHPUnit コードを書く」ところまで実行できるようにしたかったため。 本当は発表よりもハンズオン的にやってみたかった話ではある。 発表資料 https://speakerdeck.com/suzuki/phpunit-plus-selenium2-first-step-guide サンプルコード https://github.com/suzuki/phpunit-se

                                        PHPUnit と Selenium2 を使ってブラウザベースの自動テストを実行するための最初の一歩的な何かを発表してきた - 雑文発散(2013-03-09)
                                      • PHPUnitでできる単体テスト

                                        はじめに 単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。 Webシステムは基本的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。 PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。 PHPUnitを利用して単体テストする場合のプロセスは テスト対象となるクラス、PHPプログラムの作成 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述 テスト実行、結果の確認 となります。 本記事では、本連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテ

                                          PHPUnitでできる単体テスト
                                        • ウノウラボ by Zynga Japan: 30分でわかる PHP Extensionの作り方を学べる記事をかいたよー \(^o^)/

                                          こんにちは。12月に入社した@chobi_eです。 私が所属しているチームではお菓子系男子が30%を超えているという素敵チームで 毎週チーム内の漢の子がお菓子を焼いてくるという状況でハッピハッピハッピーです。 今日は私が学んできたPHP Extension作成についてのノウハウの一部を 公開しようと思います。 PHPExtension作成についての資料はklabさんやyoyaさん rskyさんの記事が参考になりますが私のようにPHPは書けてもCが書けない人には具体的にhello world以降何をすればいいのかがサッパリよく分かりません。 そこで先人達が作ってくれた偉大なライブラリをPHPで扱えるようにする為にC/MigemoのPHPバインディングを作ってみましょう C/Migemoをインストールしてみる 読者の方の中にはC/Migemoをご存知でない方もいらっしゃるかと思いますので簡単に

                                          • PHPの改善 !== PHPのバージョンアップ | PR TIMES 開発者ブログ

                                            <? include("abc.php"); include("def.php"); include("conf.php"); include("db.php"); include("some.php"); include("what.php"); Define("NUM", 100); class super_calc extends great_calc { /* * * * コンストラクタ * * * * */ public function super_calc($initial_num){ $this->db = DB::getDb(DSN); $this->initial_num = $initial_num; } /* * * * チェック * * * * */ public add_ok($add_num){ $res = $this->addable($add_num);

                                              PHPの改善 !== PHPのバージョンアップ | PR TIMES 開発者ブログ
                                            • アジャイル開発とTDDを半年間実践してみた顛末と、これから

                                              PHP Conrefence Japan 2011 Sep 10thでの発表資料 http://phpcon.php.gr.jp/2011/

                                                アジャイル開発とTDDを半年間実践してみた顛末と、これから
                                              • TDD(テスト駆動開発)をはじめたい人にオススメの資料(無料) | Act as Professional

                                                TDDBC in TokyoをPHPUnitでやる予定なので、TDD関連資料をあさってました。 実際に手を動かして、1から2時間で最後までやり通せるTDDの資料を見つけました。 TDDに興味を持った方が最初にやるのにちょうど良い内容なので、お知らせします。 オブラブで公開されている車窓からのTDDです。Java+JUnitの構成で書かれていますが、PHP+PHPUnitで、ほとんどPHPっぽく書き直せば問題なくTDDの雰囲気を学べる内容です。 Fake It 三角測量 リファクタリングなどのタイミングを具体的に理解できるストーリー仕立てになっています。内容のボリュームもお手軽なので、TDDに興味のある方は、やってみてはいかがでしょうか?TDDの良さが体験できると思います。 PHPのコードをgithubで公開しています。「PHPでどう書くの?」って思った方は参考にしてください。

                                                  TDD(テスト駆動開発)をはじめたい人にオススメの資料(無料) | Act as Professional
                                                • PHPUnitのアンチパターンとベストプラクティス

                                                  みなさんこんにちは。@ryuzeeです。 SlideShareを徘徊していたらPHPUnitのアンチパターン・ベストプラクティスに関する素晴らしいスライドを見つけたので内容を抜粋で紹介します。 1. テストの中で何もテストしていない class FooTest extends PHPUnit_Framework_TestCase { public function testSomething() { $foo = new Foo; $foo->doSomething(new Bar); } } こういうテスト。どこにもアサーションがなくて何もチェックしていません。 $foo->doSomethingの戻り値を検証しないならなんの意味もありません。 純粋にTDDをしていれば、テストコード作成→テスト実行でRed→プロダクションコード作成→テスト実行でGreenなのでこういうテストは登場しませ

                                                    PHPUnitのアンチパターンとベストプラクティス
                                                  • PHPUnit でよりよくテストを書くために

                                                    第56回PHP勉強会@関東で PHPUnit について話してきた http://blog.yuyat.jp/archives/1386

                                                      PHPUnit でよりよくテストを書くために
                                                    • 例えば, Singleton を避ける | Born Too Late

                                                      この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.

                                                      • PhpUnit - 最強のユニットテスト自動化ツール - Do You PHP?

                                                        zip形式 tgz形式 gihyo.jpにPHPUnit3で始めるユニットテストというタイトルで記事を書きました。PHP5をお使いの方は、そちらを参照してください。 ここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。 PhpUnitは一時期PEARに登録されていましたが、現在は別プロジェクトとして活動しています。新しいURLはhttp://phpunit.de/です。 テスト。。。ああ、なんてイヤな響きでしょう。。。(^-^; 「テストすること」はプログラムの品質を保証するということで非常に重要な作業だ、ということは百も承知と思いますが、コーディングと比べてやはり「イヤ」なもの

                                                        • PHPUnitでユニットテスト

                                                          開発の全工程の中で、あまり人気がないのがテスト工程だ。ソフトウェアの品質を証明するためのテストは、なぜ低く見られてしまうのか(編集部) xUnitという名称のテスティングフレームワーク 第1回「ユニットテストはなぜ必要なの?」では、ユニットテストの必要性を解説しました。今回は実際にテスティングフレームワークを使用して、テスト駆動開発を進め、その必要性と重要性を体験してみましょう。 ユニットテストを自動化するためのテスティングフレームワークは多くの言語で提供されており、JavaのJUnitや、Visual BasicのVBUnit、RubyのRubyUnit、PerlのPerlUnitなど、言語名を接頭辞にした「〜Unit」という名称のテスティングフレームワークが主流です。これらはたまたま名前が似ているというわけではなく、最初のユニットテストツールであるSmallTalk用のSUnitが基に

                                                            PHPUnitでユニットテスト
                                                          • Arduino Cheat Sheet | QuicklyCode - Cheat sheets and programming stuff

                                                            Sorry! Service has been discontinued Giovanni Scala

                                                            • PHPアプリ開発をPhpStormでスムーズに始められるよう、設定ファイルとドキュメントを用意する - BASEプロダクトチームブログ

                                                              BASE株式会社 Product Dev Division ソフトウェアエンジニアの田中(@tenkoma)です。主にPHPアプリ開発を担当しています。 BASEでは、PHPアプリ開発で使うエディタに制限はありませんが、希望する人はPhpStormを使えます。 PhpStormは設定を全くしなくてもかなり快適に使えると思いますが、多少設定するとより快適になります。 この記事では主に、開発環境とIDEを連携させアプリケーション開発をスムーズに始めるため、以下の設定について紹介します。 Xdebugと連携してリモートデバッグを可能にする PHPUnitと連携してテストをIDEから実行可能にする PHP_CodeSnifferを使ってコーディングスタイルを適用する EditorConfigを追加してコーディングスタイルを開発者で共有可能にする Xdebugと連携してリモートデバッグを可能にする

                                                                PHPアプリ開発をPhpStormでスムーズに始められるよう、設定ファイルとドキュメントを用意する - BASEプロダクトチームブログ
                                                              • Continuous Integration/Delivery for PHP Projects

                                                                Welcome! I assume that you came to this website looking for information on how to implement Continuous Integration (CI) and Continuous Delivery (CD) pipelines for PHP projects with Jenkins. Back in 2010, I created an Open Source template for Jenkins jobs for PHP projects and this website used to be the home of that project. I have neither used Jenkins nor updated the aforementioned template in qui

                                                                • 第1回 PHPUnit入門 | gihyo.jp

                                                                  はじめに 皆さん、テストしてますか? 近年、システム開発を発注する顧客や利用ユーザーの品質に対する要求レベルは格段に向上しています。そのため、システムの品質を保証するための「テストフェーズ」はますます欠かせなくなってきています。 ここで、一口に「テスト」といっても、フェーズによって以下のような様々なテストがあります。 ユニットテスト・単体テスト 結合テスト・システムテスト 総合テスト 受け入れテスト 負荷テスト セキュリティテスト 筆者の経験上、一般的なシステム開発でもっとも大きな工数を占めるのは、この「テスト」フェーズと考えています。なぜなら、テストフェーズは例外なく「繰り返し作業」だからです。前述の様々なテストフェーズで共通することですが、テストフェーズは「テストで発見されたバグ・障害を修正して再度テストを行う」という作業を何度も繰り返し行うフェーズです。あとのフェーズで不具合が発見さ

                                                                    第1回 PHPUnit入門 | gihyo.jp
                                                                  • レガシーなプロダクトにテストで向き合う話 | GREE Engineering

                                                                    はじめまして。荻原といいます。グリーのプラットフォーム部門で、サーバーサイドのエンジニアをしています。 昨年末ぐらいまで業務の空き時間にテスト周りでごにょごにょと動いていたので、今日はそのことについて書かせて頂きます。 こんな人は読むと役に立つかもしれません。 レガシーなプロダクトになんとかして突破口を開きたい PHPUnit の書き方で参考になりそうなものを探している Ruby でスマートフォンのブラウザ操作を自動化したい 経緯 こちらでも言及されている通り、サービスを運営している以上、時には技術的負債に向き合わなければなりません。GREEも歴史が長いプロダクトなので、日々コードをリリースしていく中でそういった問題に頭を抱える場面もありました。 技術的負債による副作用はたくさんありますが、どういう点に不安を感じていたのか、実際に開発の現場に立って感じたことをいくつか書いてみたいと思います

                                                                      レガシーなプロダクトにテストで向き合う話 | GREE Engineering
                                                                    • 【ネタ】秀丸強化計画 - ShiroKappa Blog

                                                                      10/27の夜に社内勉強会「開発環境勉強会:超エディタ論争」が開催されました。 9月に自称PHPer最強のVimerが入社し、社内のEmacserの心に火をつけたのが開催のきっかけだったようですが、当のVimerさんは体調不良で不参加と言う中、[twitter:@yattom]さんも見学に来られるとのことで強硬開催されました。 今回は、Vimer代表、Emacser代表、NetBeans代表がそれぞれネタを持ち寄って発表するとのことだったので、コンテンパンに叩きのめされるのを覚悟でネタで「秀丸代表」を務めさせていただきました(^_^;) エディタ論争と言うことでエディタの話題だけでしたが、開発環境はエディタだけでなく、OS、テスト環境、ブラウザ、ブラウザに入れるプラグイン、PC周りに置かれたガラケー、スマホなどの実機など、開発を効率化するために必要なあらゆる環境が今後の勉強会で議論されれば

                                                                        【ネタ】秀丸強化計画 - ShiroKappa Blog
                                                                      • 規模別PHPUnitでのテストの書き方いろいろ - Architect Note

                                                                        最近になってPHPUnitをちゃんと使ってユニットテストを書くようになってきたのですが、まだまだTipsが足りないと感じます。個人的に実践している書き方をいくつか並べてみます。 追記:最初、シェバングと書いていましたが、オプションを渡せる数が決まっていたりOSによっては動かなかったりとあまり便利でないことがわかりました。。phpunit.xmlを書いた方がいいかも。 ちょっとしたテスト → シェルスクリプト化する PHPUnitは高機能なのですが、いかんせん最初の障壁が高いと思います。とにかく気軽に書きたいなら、シェルスクリプトを作って単独ファイルで実行できるようにするといいです。 #!/bin/sh phpunit --colors *Test.php # ↑オプションを書き並べておく <?php class SampleTest extends PHPUnit_Framework_Te

                                                                          規模別PHPUnitでのテストの書き方いろいろ - Architect Note
                                                                        • BehatとSeleniumを組み合わせ受け入れテストを自動化する

                                                                          みなさんこんにちは。@ryuzeeです。 Behatは良さそうなので引き続き検証しています。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について説明しましょう。 なお、前回の記事を読まれていない場合はまずそちらを参照してください。 PHPでBDD(Behavior Driven Development)する方法 Seleniumの課題僕が関わっている案件では受入テストを自動化しているケースももちろんあって、その際はPHPUnitとSeleniumを組み合わせています。 このテストには以下のような課題があります。 画面の操作をするphpコードが大量にあって、ソースを見ただけでは何をしているのか分かりにくいSeleniumは操作に画面の要素名利用するため、例えばサイトのデザインを大幅に変えたりすると、テストの中身も大幅に書き換えな

                                                                            BehatとSeleniumを組み合わせ受け入れテストを自動化する
                                                                          • 8時間耐久PHPUnitの教室

                                                                            下北沢で開催したPHPUnit講座の資料です。 動画などはこちら。 http://blog.candycane.jp/archives/1480

                                                                              8時間耐久PHPUnitの教室
                                                                            • PHPでもHudson使うべし

                                                                              今までもPHP案件でCIはしているんだけど、環境にはCruiseControl+phpUnderControlという構成で、これももう古いなぁと思ったのでHudsonに移行してみた。 感触としては、PHP案件でもHudson使うべし、でいいんじゃないかな。 導入 今回導入した環境はCentOS5.3なので、rpmを使ってインストールできる。 sudo rpm --import http://hudson-ci.org/redhat/hudson-ci.org.key wget http://hudson-ci.org/latest/redhat/hudson.rpm rpm -Uvh hudson.rpm なお、当然のことだが、Hudsonを動作させるためにはJDKのインストールが必要なので、先にインストールしておく。 インストールが完了したら自動起動の設定をして、起動する。 /sbin/

                                                                                PHPでもHudson使うべし
                                                                              • 一人でゲームをリリースするための自動化 PHPUnit編 ~目指せCoverage 100%~

                                                                                Coverage 100%への道のり 1. --coverage-htmlして現状を確認 2. time()やmt_rand()などを使うコードもテスト 3. 複雑なオブジェクトを使うコードもテスト 4. ファイルシステムを使うコードもテストRead less

                                                                                  一人でゲームをリリースするための自動化 PHPUnit編 ~目指せCoverage 100%~
                                                                                • PHPでBDD(Behavior Driven Development)する方法

                                                                                  みなさんこんにちは。@ryuzeeです。 RubyであればRSpecやCucumberとか使って、むしろBDDしているケースの方が多いようですが、PHPでやっている事例はあまり聞きません。 とりあえずPHPでもBDDできることは確認できたので、その方法をご紹介します。 ※実戦投入にはもうちょっと検証は必要かもしれません。 BDDとは?BDDとはビヘイビア駆動開発(Behavior Driven Development)でテスト駆動開発から派生したものです。 テスト駆動開発とドメイン駆動設計を統合したようなイメージになります。 対象における「振る舞い」や「制約条件」の検証のために、自然言語的な記述でテストコードを記述します。 スペックファーストで仕様を作ってから実装するという流れになります(コードを書く前に振る舞いを決める)。 ということで、以下ではPHPでBDDを行う方法について解説してい

                                                                                    PHPでBDD(Behavior Driven Development)する方法