タグ

testに関するkazukichopのブックマーク (16)

  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

  • ウノウラボ Unoh Labs: やってみようBDD on Sinatra

    おはようございます。 うちだです。 みなさんテストコード書いてますか? 私はテストと言われると、どうもやる気がおこりません。 そこでBDD! 今回はBDD初心者の私が、やってみた過程を綴ります。ツッコミ大歓迎 BDDとは? Behavior Driven Development 振舞駆動開発 テスト駆動開発ではテストのためにコードを書く 振舞駆動開発では振舞(仕様)のためにコードを書く 結果的にやる事はほぼ一緒 言い方でモチベーションがかなり変わる スペック!スペック! 各言語のBDDフレームワーク Ruby RSpec .NET NSpec Java JBehave PHP PHPSpec 10ステップでやってみるBDD 1. インストール $ sudo gem install rspec 2. スペックを書く # spec/hello_spec.rb require 'hell

  • CakePHPでユニットテストする際に気をつけること

    今やっている案件ではCakePHPを使ったアジャイル開発で、当然テストも自動化している。 テストの自動化を徹底的にやったので楽なんだけど、次回の案件のためにどういう観点でテストを組んでおくと良いか、またどこに嵌りがあるかメモとして残しておく。 CakePHPに限らない話 テストしやすい実装にする。例えばメソッドに複数の異なる役割を持たせない。引数と戻り値が明確。適切な行数など MVCの複数レイヤーにまたがる処理を書かない。例えばコントローラの中でSQLじゃぶじゃぶ投げたり、バリデーションチェックをぐちゃぐちゃやったりしない 自動でテスト実行できる仕掛け作り。例えばPHPならphpUnderControl。JAVAならCruiseControlとかHudson。 基に返って、テストを先に書くという意識付け テストがいっぱいありすぎたら今度はテストのリファクタリング。似たようなテストがコピペ

    CakePHPでユニットテストする際に気をつけること
  • CakePHP routes.phpの確認はユニットテストで

    routes.phpを仕様に合わせて設定しておきます。 <?php // Router::connect('/:user_id/edit', array('controller' => 'user', 'action' => 'edit')); Router::connect('/', array('controller' => 'top', 'action' => 'index')); Router::connect('/:user_id/*', array('controller' => 'user', 'action' => 'index')); // Nothing Router::connect('*', array('controller' => 'nothing')); ?> 最後はシステムが取るべきURL以外ならNot Foundを出すように設定しています。これにより想定外

  • CakePHP でテスト駆動開発 - elm200 の日記(旧はてなダイアリー)

    参考にした情報。 CakePHP1.2 に SimpleTest をインストール CakePHP1.2 SimpleTest でテストケースを作成する が良エントリ。 CakePHP では SimpleTest というテストモジュールを使うらしい。ここからダウンロードして解凍し、app/vendors か vendors に配置する。SimpleTest はテスト結果をウェブベースで表示するようである。app/webroot/test.php がテスト実行のエントリポイントである。 http://(サーバ名)/(CakePHP アプリケーションへのパス)/test.php という感じの URL にブラウザからアクセスする。 テストの書き方。たとえば、post.php というモデルがある場合、app/test/cases/models/post.test.php というテスト用のファイルを作

    CakePHP でテスト駆動開発 - elm200 の日記(旧はてなダイアリー)
  • CakePHP1.2 に SimpleTest をインストール | Sun Limited Mt.

    CakePHP1.2 では SimpleTest を使用したユニットテストが行えます。 テスト実行用スクリプトは app/webroot/test.php です。ブラウザからこのスクリプトへアクセスします。 まだ SimpleTest をインストールしていないと上記のような画面が出ます。 この画面から SimpleTest のダウンロード先へリンクがあるのですが、なぜかリンクが切れています。下記 URL でアクセスできます。 http://simpletest.org/en/download.html ダウンロードして解凍したものを app/vendors か vendors ディレクトリに設置します。 設置後に再度 test.php へアクセスすると下記のような画面になります。 これで SimpleTest の準備は完了です。 試しに「Available Core Test Groups

  • CakePHP1.2 SimpleTest でテストケースを作成する | Sun Limited Mt.

    CakePHP1.2 に SimpleTest をインストール で SimpleTest をインストールするところまでやったので、今度は実際にテストケースを作成してみます。 空のテストケースを作成する app/test/cases/models に user.test.php を作成して以下のコードで保存する。 <?php class UserTest extends User { } ?> test.php にアクセスして「App Test Cases」というリンクをクリックすると作成した user.test.php というリンクが表示されます。 この models/user.test.php をクリックすると作成したテストが実行されます。まだテストケースが何もないので当然テストは正常に終了します。 User モデルのテスト 実際にモデルのテストケースを作成してみます。 app/test

  • autotest + growl で楽々テスト - 僕は発展途上技術者

    もっと早くからやっておけばよかったです。 autotest を使うと Rails でのテスト実行が格段に楽になります。コードを編集しファイルを保存した瞬間、テストを自動実行してくれるので、いちいち開発 <-> テストの各作業の切り替えが必要なく、開発している間中ずっと裏でテストを実行し続けてくれるのです。 さらに mac だと growl と連携できるため、いちいち autotest を実行しているコンソールを開く必要がなく、さらに快適。 以下の情報源を参考にさせていただいたのですが、日(2008/12/10)時点での各アプリケーションのバージョンの違いや環境の違いからか、そのままではうまく動かないところがありました。メモ代わりに自分の環境でおこなった手順を書き留めておきます。 参考にした情報源 autotestのGrowl通知をカスタマイズする - ザリガニが見ていた...。 grow

  • Ethna本体のテストを実行する方法 - maru.cc@はてな

    Ethnaの動作でちょっと気になるところがあったので、テストを書きつつパッチを書こうと思ったところ、まず、Ethna体のテストを実行する方法がわからないことに気づいた。 trunkから落としてきたファイルには、testディレクトリも、テスト実行用らしき bin/ethna_run_test.php もあるが、普通にたたくだけでは動かなかった。 wideの%Ethnaチャンネルで、mumumuさんに聞いたところ、ソースツリーのルートが Ethna という名前になってないとダメとのことでした。 Ethna体のテストを実行するまでのメモ。 適当なディレクトリに移動してから以下を実行。 $ svn export http://svn.sourceforge.jp/svnroot/ethna/ethna/trunk Ethna $ php Ethna/bin/ethna_run_test.php

    Ethna本体のテストを実行する方法 - maru.cc@はてな
  • [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp

    第16回プログラミング言語とTDDは、どちらを先にマスターすべきか? 和田卓人 2007-12-21

    [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp
  • Happy Testing Perl 記事一覧 | gihyo.jp

    第4回Test::Perl::Critic, Test::Pod, Test::Pod::Coverage, Test::Exception, Test::Warn, Devel::Coverの紹介 小林篤 2008-06-25

    Happy Testing Perl 記事一覧 | gihyo.jp
  • PHPのテスティングフレームワーク - p4lifeのメモ

    今回取り上げるテスティングフレームワークライブラリ,アプリケーションの品質を高めるために必要不可欠なテストですが,そのテストを実行するためのツールに関する情報を集めました. phpt PHPUnit SimpleTest lime DocTest PHPSpec phpthttp://qa.php.net/write-test.php PHP 独自のテスト機構 PHP 体,PEAR のテストで最も良く使われる.テストファイルの拡張子は .phpt TAP*1 対応:PEAR 1.5.0 から対応 pear run-tests コマンドに -t オプションを付けると run-tests.log に TAP フォーマットのログが出力される特徴: pear コマンドが使えればテストを実行できるため,大抵の環境で動かせる GET/POST/Cookie, php.ini 設定, 標準入力をパラメ

  • I, newbie » PerlによるDNSのテスト - Test::Base

    perldoc Test::Baseしてもさっぱりピンと来なかったけど、”use Test::Base;” (PDF 172KB)を読んだら5秒で理解できた。いろんなひとがいろんな方法で説明するのは大事です。filterが期待する入力値(scalarなのかlistなのか)とfilterの出力を理解するのに手間取ったけど。まずはfoo.tを書いて、徐々にfactor outするのがいい。書けば書くほどごちゃごちゃしていくのがTest::More、逆にテストがキレイになっていくのがTest::Base。それにTest::Builderは、使い勝手がいいとはあまり言えないし。 package Test::DNS; use strict; use warnings; use Test::Base -Base; use Net::DNS; our $res = Net::DNS::Resolver-

  • 特集:PHPUnit3で始めるユニットテスト|gihyo.jp

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

    特集:PHPUnit3で始めるユニットテスト|gihyo.jp
  • 第5回 PHPUnitの便利な機能とPhingとの連携 | gihyo.jp

    今回は、PHPUnit3の便利な機能とPHPプロジェクトビルドシステムであるPhingとの連携について見ていきます。 既存クラスからテストを作成する さて、別の開発チームで作成していた決済用クラス(Checkoutクラス)が届きました。 <?php require_once 'Cart.php'; class Checkout { private $cart; public function __construct(Cart $cart) { $this->cart = $cart; } public function getSubTotal() { return $this->cart->getTotal(); } public function getShippingCharge() { if ($this->cart->getTotal() > 1500) { return 0;

    第5回 PHPUnitの便利な機能とPhingとの連携 | gihyo.jp
  • 第4回 モックオブジェクトを使ったテスト | gihyo.jp

    今回はダミーのオブジェクト(モックオブジェクト)を使ったテストについて見ていきます。 モックオブジェクトを使ったテスト さて、折角完成したCartクラスですが、商品コードの代わりに商品クラス(Itemインターフェースを実装したクラス)を導入し、さらに商品の合計代金も取得できるようにすることになりました。ありがちな話ですね。具体的には、次のようなItemインターフェースが提供されています。商品コードのほかに、商品名や価格が取得可能なようです。 <?php interface Item { public function getName(); public function getCode(); public function getPrice(); } しかし、肝心の実装クラス(ItemImplクラス)自身はまだ作成されていません。こういった場合、どうすればいいでしょうか?ItemImplク

    第4回 モックオブジェクトを使ったテスト | gihyo.jp
  • 1