タグ

PHPUnitに関するhelldeathのブックマーク (12)

  • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

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

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
    helldeath
    helldeath 2014/10/10
    これ5年前に知りたかったな
  • JenkinsでPHP開発を自動化するのまとめ

    これまでJenkins+PHPで色々な処理を自動化させてきたので、今までの記事をまとめてみました。 さくらVPSにjenkinsを入れてみたときの備忘録 jenkinsで新規ジョブを作成して、Subversionと連携してみる Phingをjenkinsと連携させてみる jenkinsでCheckstyle pluginを利用して、CakePHPのコーディング規約をチェックする PHPMD(PHP Mess Detector)をjenkinsで利用してみる PHPCPDとjenkinsを利用して、冗長化したコードを検出してみる jenkinsにPHPDocumentor2を連携させてみる CakePHP2.X+PHPUnit+jenkinsでテストを自動化する ここまでの処理をまとめたビルドファイルもgithubのほうにアップしています。 myPhingBuildXml – github

    helldeath
    helldeath 2013/01/21
    phpとjenkinsのまとめハブ
  • CakePHP2.X+PHPUnit+jenkinsでテストを自動化する

    やっとここまできた! 今までjenkinsの設定は色々やってきたけど、今回はやっとテストを自動化させるところを書いていく。 1. PHPUnitのインストール PHPUnitのインストールは、前回のCakePHPPHPUnitを手動インストールしたときのメモで対応済みだが、jenkinsが入っているサーバーと前回のものは別のため、こっちはpear channelからインストールする方法で試してみる。 $ pear channel-discover pear.phpunit.de $ pear install --alldeps phpunit/PHPUnit 2. コマンドラインからPHPUnitを実行してみる $./app/Console/cake test app AllTests Welcome to CakePHP v2.2.1 Console -----------------

    helldeath
    helldeath 2013/01/21
    これでだいたい間違いない
  • CakePHP 2.xのtestActionをちゃんと理解しよう

    CakePHPでの開発を始めて1年半近く経ちました。しばらく、テストは目視でのテストばかりやっていたのですが、最近になってようやくPHPUnitを使ったテストを始めました。 以前にJavaの開発でJUnitを使っていたことはあるので、xUnitを使ったユニットテストのやり方とか考え方は理解しています。なので、CakePHPでのModelのテストは難なく理解出来たのですが、Controllerをどうやってテストするのか?というのが難しかった。 そもそも、ControllerというはHTTPのRequestとResponseが前提なので、Modelのように単純にテストコード内でインスタンスを作って、メソッドを呼び出して、結果を検証して・・・というようには行きません。 以前のJUnitでやっていた頃はWebのフレームワークとしてStrutsを使っていたけど、あのときはActionのテストってどう

    CakePHP 2.xのtestActionをちゃんと理解しよう
  • Pyrus による PHPUnit のプロジェクト別のインストール方法 - A Day in Serenity @ kenjis

    yandoさんの「8時間耐久 PHPUnit の教室」で、Pyrus を使って PHPUnit を個別にインストールする方法が紹介されていましたので、まとめました。 http://pear2.php.net/ より pyrus.phar をダウンロードします。 $ php pyrus.phar mypear ~/project/vendor $ php pyrus.phar set bin_dir ~/project/vendor/bin $ php pyrus.phar install pear.phpunit.de/PHPUnit $ php pyrus.phar install phpunit/PHPUnit_SkeletonGeneratorこれで ~/project/vendor/bin/ に phpunit コマンドが、~/project/vendor/php/PHPUnit/

    Pyrus による PHPUnit のプロジェクト別のインストール方法 - A Day in Serenity @ kenjis
  • PHP で快適なテスト駆動開発を - Stagehand_TestRunner の特徴と使い方を知る | ITEMAN Blog - アイテマンブログ

    先日、今年の 1 月以来となる Stagehand_TestRunner の最新バージョン 2.7.0 のリリースを行いました。コマンドラインのテストランナーを提供するこのプロダクトは、テスト駆動開発 (TDD: Test Driven Development) をより快適にすることを目的としています。 今回は Stagehand_TestRunner の特徴と使い方をご紹介いたします。 Stagehand_TestRunner とは? Stagehand_TestRunner とは、PHPUnitSimpleTest といった PHP のテスティングフレームワーク向けに書かれたテストの実行に特化した Piece Framework のプロダクトで、下記のような特徴があります。 指定されたディレクトリに含まれるテストの実行 指定されたファイルに含まれるテストの実行 指定されたファイル

    helldeath
    helldeath 2012/02/16
    これを使ってディレクトリ監視&テスト自動実行しておるわけです。
  • PHPUnit の実行を自動化する 3 つの方法 | Born Too Late

    皆さん, ユニットテスト書いてますか. TDD (テスト駆動開発) によるプログラミングは当に楽しいものですが, コマンドをいちいち手動で実行するのは面倒ですよね. テストを自動化しているんだから, その実行も自動化したいですよね. この記事では, 私が仕事趣味で使っている PHPUnit を例に, テストの実行の自動化について紹介します. PHPUnit の, としてはいますが, 他の言語で使えるテクニックもあります. なお, ここでの自動化は開発しながらの自動実行のことで, CI (継続的インテグレーション) の話は出てきません. その前に... 私の開発時のターミナルは以下のようになっています. [caption id="attachment_1298" align="alignnone" width="300" caption="開発時のターミナル"][/caption] GN

    PHPUnit の実行を自動化する 3 つの方法 | Born Too Late
    helldeath
    helldeath 2012/02/14
    透明化の裏で動画みれるとか素晴らしい
  • 第1章 自動テスト

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

    helldeath
    helldeath 2012/02/01
    オフィシャル
  • PHPUnitへの移行のヒント - 2.x

    PHPUnitへの移行のヒント¶ テストケースの PHPUnit 3.7 への移行は、うまくいけばかなり苦痛の無い遷移となります。 しかしながら、PHPUnitSimpleTest の間では、いくつかの既知の違いがあります。 SimpleTestとの違い¶ SimpleTestとPHPUnitの間には数多くの違いがあります。 以下は一番頻繁に遭遇する相違点を挙げる試みとなります。 startCase()とendCase()¶ これらのメソッドはサポートされなくなりました。 PHPUnitが提供する静的なメソッドを使用してください: setupBeforeClass と tearDownAfterClass 。 start()、end()、before()、after()¶ これらのメソッドはSimpleTestのテストケース初期化の一部です。 start() と end() は置き換え

    helldeath
    helldeath 2012/02/01
    CakePHP2.0の場合
  • PHPUnitの概要と導入

    PHPUnitとそのメリット 連載では、PHPPHP: Hypertext Preprocessor)で実装されたプログラムの単体テストをテスト・ツール「PHPUnit」を使って行う方法について、基から実践的な利用方法までを4回にわたって紹介します。 ユニット・テスト(単体テスト)とは、プログラムの構成要素であるクラスや関数などの単位で動作を確認するためのテストです。PHPUnitを利用することで、単体テストの手順をPHPプログラムとして作成し、コマンド・ラインなどからバッチ処理的に実行することが可能になります。 PHPプログラムのテストと言えば、もっぱら人手でブラウザを操作して画面遷移を確認したり、フォームに値を入力して実行結果を目で確認したりすることが一般的だと思います。しかし、開発時に何度も同じようにページを開いて、同じようにテスト・データを入力し、結果が正しいことをすべて手動

    PHPUnitの概要と導入
    helldeath
    helldeath 2012/02/01
    こちらは新しめ?
  • PHPUnitでできる単体テスト

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

    PHPUnitでできる単体テスト
    helldeath
    helldeath 2012/02/01
    こちらも入門
  • 特集:PHPUnit3で始めるユニットテスト|gihyo.jp

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

    特集:PHPUnit3で始めるユニットテスト|gihyo.jp
    helldeath
    helldeath 2012/02/01
    simpletestばかり使ってられない
  • 1