[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

TDDに関するhelldeathのブックマーク (21)

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

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

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

    年末にDocker触ってて、これをうまく活かせば、副作用を無視した使い捨てのテスト環境が作れるんじゃねーかな、という意識が高まったのですが、手を付けられずにうにゃうにゃしてました。 そうこうする内に yahooのデベロッパーの方からJenkins with Dockerというタイトルの発表があり、ほぼ僕のやりたい事のベースができていたので、これをforkして、travis.yml parserや若干のバグフィックスを入れてもう少しだけTravisに近づけてみました。 ちなみにこれは 社内 Immutable Infrastructure ハッカソンした時の成果物です。 Immutable Infrastructure Hackathon at :D を開催したら、configspec の敷居が高いのでコミッタになっていました - sonots:blog 今回の成果物に関して、詳しくはここを

    Docker + Jenkins + travis.yml parser 作って Travis っぽいものを作った話 - from scratch
    helldeath
    helldeath 2014/01/23
    これはかっこいい!
  • CakePHP PluginをTravis CIに載せる - Copy/Cut/Paste/Hatena

    せっかくTravis CIという面白いサービスがあってPHPの環境も用意されているのに、Travis CIに載っているCakePHP Pluginが見つからなかったので載せてみた。 いろんなPluginを作ってた分、いろいろなパターンの.travis.ymlを書くことになったので、他のbakerの参考になるかも。 通常パターン(DBMySQLだけ) https://github.com/k1LoW/Yacsv/blob/master/.travis.yml CakePHPのPluginをテストするのにはいくつか面倒なことがあって、1つはCakePHP自体がないとテストできないこと。 これは『wgetでCakePHPを設置するところから書く』という直球な方法で対応可能。 もう1つの面倒なことはCakePHPのデフォルトのディレクトリ構成。 CakePHPのPluginは、来CakePHP

    CakePHP PluginをTravis CIに載せる - Copy/Cut/Paste/Hatena
    helldeath
    helldeath 2013/02/28
    各種.travis.ymlの書き方が参考になります
  • 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
    これでだいたい間違いない
  • GHUnitで単体テストをしてみよう - mixi engineer blog

    初めまして。プログラマのショウといいます。 現在、mixiの公式iPhoneアプリを担当しています。 今回は、iPhoneアプリ開発におけるGHUnitを用いた単体テストについて紹介したいと思います。 ★ テストとは 題に入る前に少しだけ、テストという概念について整理してみましょう。 ソフトウェアを開発する上での「テスト」という言葉は、「コンピュータのプログラムを実行し、正しく動作するかを確認する作業のこと」を指します。 そしてこの「正しく動作するかを確認する方法」として主に以下の2通りがあります。 ・ ホワイトボックステスト ・ ブラックボックステスト ホワイトボックステストとは、「命令網羅」「分岐網羅」「条件網羅」などの方式を用いて、プログラム内部の動作がプログラマの意図通りとなっているかを確認するものとなります。 これに対してブラックボックステストとは、プログラム内部に関係なく、外

    GHUnitで単体テストをしてみよう - mixi engineer blog
    helldeath
    helldeath 2012/06/20
    段階をおってインストールしており、分かりやすい
  • GHAsyncTestCaseを使ってASIHTTPRequestの非同期通信のテストをする | @blog.justoneplanet.info

    ドキュメントが分かりにくかったので自分で書いてみた。 ■テスト対象のクラス ASIHTTPRequestを使った普通のクラス。 MyHTTP.h #import <Foundation/Foundation.h> #import "MyHTTPDelegate.h" @class ASIHTTPRequest; @class MyHTTPDelegate; @interface MyHTTP : NSObject { id <MyHTTPDelegate> delegate; } @property (nonatomic, retain) id delegate; - (void)loadData; - (void)requestFinished:(ASIHTTPRequest *)request; - (void)requestFailed:(ASIHTTPRequest *)reque

    helldeath
    helldeath 2012/06/20
    日本語のサンプルなので参考になります
  • 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
  • ひでぶろぐ。 ビヘイビアのテストケース

    [PR] 今日のニュースは?? : 2ch自動まとめキュレクス [PR] 名言や格言をどうぞ! : 名言満載! [PR] 副業したい? : 出張ホスト募集中 [PR] SEO最高峰のクオリティー : 知る人ぞ知る、SEOUP.com。テラプレミアムアクトは抜群におすすめ! [PR] 口コミ対策 : 口コミでSEO対策。なんとびっくり、1円からご利用頂けます。 [PR] 出張キャバクラアゲハ : ちょっとした飲み会のお供に。デートのお相手に。 携帯ライブラリもテストケース書いてるよって。 ずっと敬遠してたけど、使った方が良さそうなので 勉強してみます。 で、とりあえずビヘイビアのテスト。 情報少なすぎ。。。 今回やりたいことは、signup plugin を作りたい。 まずは、ビヘイビアのテスト。 で、まずはメールアドレスを暗号化して返すテスト。 また、フィクスチャも設定使いたいでやんす。

    helldeath
    helldeath 2012/05/02
    ビヘイビアのテストはテストの先頭でFakeなモデルを定義・作成して、そのモデルにビヘイビアを設定する。おかげでテストが切り離せた
  • PHPUnitをPEARからインストールしたときメモ.

    PHPUnitのインストールメモ オチから言うと,ちゃんとsebastianbergmann/phpunit - GitHubのInstallationを最初に読んでやりましょう.ということで以下まぬけな失敗ログ. % sudo pear channel-discover pear.phpunit.de Adding Channel "pear.phpunit.de" succeeded Discovery of channel "pear.phpunit.de" succeeded phpunitのチャンネルを追加して,installを実行. % sudo pear install phpunit/PHPUnit Unknown remote channel: components.ez.no Did not download optional dependencies: channel

    PHPUnitをPEARからインストールしたときメモ.
    helldeath
    helldeath 2012/04/27
    本家のInstallationを見れって話。あるいは必要なチャネル追加して-alldepsつけるとか
  • TDDをはじめる条件 #tddbc #tddconf - やさしいデスマーチ

    色々と忙しすぎてブログが書けません。 JavaOneの話とか、JUnitの話とか色々書きたいんですが…もうしばらく我慢なのです。 で、TDDの前方依存と後方依存で意見が欲しいとのことなので自分なりの意見を。 技術的な前方依存 『TDDを始める前と終TDDを実際やるために必要な技術』 ・最低限対象言語でコードがかけるようになって ・最低限テスティングフレームワークを使えるようになって ・リファクタリングをしっかり学んで ・対象言語でのきれいなコード、設計とは何かを知って ・テストファーストを知って こうしておそらくスタートライン。 自分はこれは疑問です。 最後の「テストファーストを知って」という部分はTDDに関することですけど、それ以外ってTDDを始めるスタートラインではなく、ソフトウェア開発としてのスタートラインかと思います。 言い換えると 最低限対象言語でコードを書けないと、ソフトウェア

    TDDをはじめる条件 #tddbc #tddconf - やさしいデスマーチ
    helldeath
    helldeath 2012/04/23
    ですね - そんな会社は「ソフトウェア開発をやめた方がいいと思う」 > 意欲のある人しかそこら辺の技術を身につけようとしないこと。あるいは、ここら辺の技術を教える時間がない/あるいは会社が認めてくれないこと
  • Jenkinsでビルド・パイプラインを作る

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) Jenkinsのプラグインでビルド・パイプラインを作ることができるので紹介。 #12月20日のワンクリックデプロイ勉強会の発表のネタバレっぽいのですが。 ビルド・パイプラインとはビルド・パイプラインとは、継続インテグレーションのプラクティスの1つで、テスト等を複数の単位に分割し、順番に流していくものである。一般的には継続的インテグレーションを利用していれば、SCMにソースコードをコミットした段階ですぐにユニットテストを走らせ、以降に、静的解析や結合テスト、受け入れテスト、ステージング環境へのデプロイ、番環境へのデプロイという形で進んでいくことになり、その単位でパイプライン要素を分ける。 当然パイプラインの途中で試験に不合格

    Jenkinsでビルド・パイプラインを作る
  • 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
    これを使ってディレクトリ監視&テスト自動実行しておるわけです。
  • vimのswpファイルとバックアップファイルの設定 - RKTM’s diary

    vimやらgvimでファイルを開くと、 「ファイル名.swp」や「ファイル名.拡張子~」ファイルが出来て陶しい事があります。 ということでそのあたりの設定方法を探ってみました。 バックアップ 1.バックアップを取る場合は、 set backup 2.バックアップファイルの作成場所指定 set backupdir=C:\tmp 3.バックアップをとらない場合は set nobackup スワップファイル 1.スワップファイルを作成する場合は set swapfile 2.スワップファイルの作成場所指定 set directory=C:\tmp 3.スワップファイルを作成しない場合 set noswapfile バックアップファイルとスワップファイルを固定のフォルダに設定してしまえば、随分とすっきりしますね。

    vimのswpファイルとバックアップファイルの設定 - RKTM’s diary
    helldeath
    helldeath 2012/02/16
    Stagehand_TestRunnerでディレクトリ監視してると、vimで開くだけでテスト開始されると思ったらswpファイルのせいだった
  • 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ばかり使ってられない