タグ

ユニットテストに関するbigbroのブックマーク (21)

  • Visual Studioで作る単体テスト、基本のき (VS2010向け改訂版)

    はじめに Visual Studioは2005の時から単体テスト機能を搭載するようになりました。2008のバージョンからは一般的な開発者が利用するProfessional Editionにもこの機能が搭載され、2010のバージョンでも同様となっています。稿(およびシリーズ)では主に単体テスト機能にフォーカスしますが、開発者の利用シーンをキーワードに、いくつかのシナリオを想定して、その時々の使い方を取り扱っていきます。初回となる今回は、最も基的ないくつかの点について見ていきましょう。 対象読者 .NET Frameworkを利用した開発プロジェクトに携わっている方 Visual Studioの単体テスト機能に興味がある方 必要な環境と準備 稿で解説する内容を実際に試す場合には以下のいずれかのソフトウェアが必要になります。 Visual Studio 2010 Professional

    Visual Studioで作る単体テスト、基本のき (VS2010向け改訂版)
  • 極力ユニットテストを書かずに品質を確保する方法 - ひがやすを技術ブログ

    今日のテストサミットで、できるだけユニットテストを書かずに品質を確保する方法について、ディスカッションします。 やり方を簡単に紹介すると、最初は、Programming First Developmentで、機能を実装して、ユーザに動かしてもらうってことをユーザの要件が固まるまで繰り返します。このときは、基的にユニットテストは書きません。動かすことに集中します。 ユーザの要件が固まった(実装がほとんど終わった)ら、保守のためのドキュメントの一つとして、テストシナリオ(ユースケーステスト)を作って、テストを行います。そのテスト中に、バグが発見されたらその周辺のユニットテストを書いていきます。 これは、「バグは偏在(偏って存在)する」という特徴を利用して、一通り動かした後に見つかったバグの近くをテストしておけば、主なバグはつぶれるだろうという考えです。 これまでは、「ユニットテストは、できる

    極力ユニットテストを書かずに品質を確保する方法 - ひがやすを技術ブログ
  • 第56回PHP勉強会@関東で PHPUnit について話してきた | Born Too Late

    最近 HTML5 化した Slideshare ですが, エラーで表示できないスライドが多すぎてまともに閲覧できないようです. この記事に掲載している Flash 版は今まで通りの問題なく表示できるのですが... スライドが完成したのが勉強会への出発 15 分前で, 通しで練習することすらできず, 発表はかなりひどいものとなっていまいました. 最低限, スライドの流れぐらいは頭の中に入れて発表すべきですね… スライドだけ見てわかるような作りにはなっていないので, 以下で補足したいと思います. ただし, 序盤は省略し, 論となる書法編とパターン編についてのみとなります. それぞれ該当するスライド番号も付記してありますので, よければご活用ください. 書法編 1: ヘルパーメソッドを使う (25 ~ 30) テスト対象のオブジェクト, それを生成するのに必要な依存オブジェクトの生成には, ヘ

    第56回PHP勉強会@関東で PHPUnit について話してきた | Born Too Late
  • GitHub - sebastianbergmann/phpunit: The PHP Unit Testing framework.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sebastianbergmann/phpunit: The PHP Unit Testing framework.
  • PHPUnit Manual 3.6 Japanese

    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 Manual 3.6 Japanese
  • 自動テストのfixtureを効率的に管理する方法

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 僕がやっている案件(PHP)はもともとテストコードのないレガシーなプロジェクトで、それを改善するためにずっと動作を確認するための結合レベルの自動テストを増やしてきました。 そんな中で、僕のところではどうやってテスト用のfixtureを管理しているか事例として紹介したいと思います。 最初にコアとなるfixtureを用意するみんながたくさんテストを作る前にコアとなるテスト用のfixtureは用意しておきます。 さもないと、みんなが好き勝手にfixtureを作ってしまい、あっという間に混乱に陥ります。 プログラム体と同様に、DRYの原則で、同じようなテストデータを繰り返し作ってしまうよう

    自動テストのfixtureを効率的に管理する方法
  • xUnitに関するパターン・Fixture(フィクスチャ) - Strategic Choice

    Q:複数のテストで必要とされる共通のオブジェクトをどのように作成するのか。A:テスト内のローカル変数をインスタンス変数に変換する。セットアップ用メソッド(=@Beforeアノテーションを付加したメソッド)を作成し、そのインスタンス変数を初期化する。どうして?テストコードにおいて、ある状態にオブジェクトを設定するためのコードを、テストの「フィクスチャ(土台)」と呼びます。オブジェクトを操作し結果をチェックするコードよりも、このフィクスチャが大きくなる場合が「しばしば」あります。しかもフィクスチャは複数のテストで同じである場合が多いです。この重複には不都合があります。コピーアンドペーストしても、作成に時間を要します。テスト作成は迅速に行いたいところです。オブジェクトを変更する必要がある場合、複数のテストに変更を行わなければいけません。まさに重複の弊害です。モデルコードから重複を取り除く必要があ

  • PHPUnitの概要と導入

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

    PHPUnitの概要と導入
  • CentOS5.5でHudsonでPhingでPHPUnitでCloverな生活 - とっくりばー

    HudsonいいねHudson。Jenkinsに名前変わったみたいなのでまた後で乗り換えるけれども。 昔某ソフトハウスにいた頃、まだmavenもなかった頃、頑張ってantを駆使してJUnitとJCoverageをデイリービルドで回して計測してエラーがあったらみんなにメールが飛ぶって、そういう環境を自分でも作ったし使っていたのに、今の会社で全然そういうことをしていないのが嫌で嫌で。 そしたらPHP用のAntであるところのPhingもあるしデイリービルドをやってくれるHudsonもあるし、これはと思って1日頑張ってみた。OSはCentOS5.5。 1.CentOS5.5にPHP5.3を入れる CentOS 5系でPHP5.3系やMySQL5.1系を使いたい場合 - RX-7乗りの適当な日々 こちらのサイトを参考に、--enablerepo=remiで php php-devel php-pec

  • 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のアンチパターンとベストプラクティス
  • Python Unit Testing Framework (in Japanese)

    Ãø¼Ô: Steve Purcell, <stephen_purcell at yahoo dot com> Project website: http://pyunit.sourceforge.net/ ÆâÍÆ ³µ´Ñ ¥·¥¹¥Æ¥àÍ×·ï PyUnit ¤ò»È¤Ã¤Æ¥Æ¥¹¥È¤ò½ñ¤¯¤Ë¤Ï ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡ TestCases ¤Î¾Ò²ð ñ½ã¤Ê¥Æ¥¹¥È¡¦¥±¡¼¥¹¤òºî¤ë Á°½àÈ÷¥³¡¼¥É¤ÎºÆÍøÍÑ: ¡Öºî¤êÉÕ¤±¡×¤òºî¤ë Ê£¿ô¤Î¥Æ¥¹¥È¡¦¥á¥½¥Ã¥É¤ò¤â¤Ã¤¿ TestCase ¥¯¥é¥¹ ¥Æ¥¹¥È¡¦¥±¡¼¥¹¤ò¥Æ¥¹¥È¡¦¥¹¡¼¥Ä¤Ë¤Þ¤È¤á¤ë ¥Æ¥¹¥È¡¦¥¹¡¼¥Ä¤òÆþ¤ì»Ò¤Ë¤¹¤ë ¥Æ¥¹¥È¤ò¤¹¤ë¥³¡¼¥É¤ÎÃÖ

  • PHP5.3.3入れたメモと超便利なStagehand_Testrunnerについて - 気が向いたら

    最近になってDIコンテナについて社内勉強会をしようと思い立ち参考になる資料をググってたところ、Symfonyのデベロッパである Fabien Potencier さんのスライド Dependency Injection with PHP 5.3 を発見し、そのまま皆でスライドを読み進めていく等しました。 この資料はSymfony2に新しく加わるDIのコンポーネントである「Dependency Injection」の実装を参考に、PHP5.3系でのDIコンテナの実装とそのメリット等が説明されています。 クロージャの使い方等も解説してあって、PHP5.3でのOOPの学習にもなってかなり勉強になりました。 というわけで、PHP5.3を格的に使い出したい…とモチベーションも高まったところで、最近リリースされたばかりの5.3.3をインストールしてみる事にしたので、備忘録として残します。 ついでにT

    PHP5.3.3入れたメモと超便利なStagehand_Testrunnerについて - 気が向いたら
  • 単体テストを“神速”化するQuick JUnitとMockito

    単体テストを“神速”化するQuick JUnitMockito:ユカイ、ツーカイ、カイハツ環境!(16) Quick JUnitプラグインの3つの大きな特徴 近年、JUnitとHudsonを利用した継続的インテグレーション(CI)によるテストの自動化や、テスト駆動開発(TDD)の普及などにより、ユニットテスト(単体テスト)のテストコードの作成が重要視されています。 今回紹介する「Quick JUnit」プラグインは、JUnitによるテストコードの作成と実装を支援するEclipseプラグインです。Quick JUnitプラグインは石井勝さんにより開発されていましたが、石井さんが不慮の事故により死去後、Quick JUnitプラグインプロジェクトにより開発が継続されています。優れたオープンソースプロジェクトの模範のようなプロジェクトです。 訂正のお知らせ 故人のお名前について間違いがあり、修

    単体テストを“神速”化するQuick JUnitとMockito
  • QUnitの基本的な使い方 - but hopeful

    [追記] 2013/9/1 三年前の記事が未だに読まれているようなので、一応書いておきますが、あれから色々変わってもっと良いものも出ています。 QUnit でも別に問題はないですが、今から QUnit を使うよりは http://visionmedia.github.io/mocha/:title=mocha] とかの方が個人的にはお勧めです。とにかく、今は色々あるのでもっと別の選択肢調べて見ることを個人的にはおすすめします。別に QUnit は使わないほうが良いとは言いません。 JavaScriptのテスティングフレームワークはいろいろありますが、自分は今主にQUnitを使っているので、少し使い方をまとめて見たいと思います。 [追記]今回作成したソースを上げました。ninja.js QUnit とは QUnitはもともと、jQueryをテストするために開発されたJavaScript Un

    QUnitの基本的な使い方 - but hopeful
  • テストを書くこととテストをすることの違い - 未来のいつか/hyoshiokの日記

    会社でレガシーコード改善ガイドの読書会をやっていて、次回で読了だ。4月に入ってから週に1回くらいのペースでやっていて、2ヶ月半くらいかかった。途中、ゴールデンウィークや所用で開催しないこともあったので、10回くらいで完走したことになる。 一人当たり、1章ないし2章くらいを担当して、その章に書いてあることを説明した後にみんなであーだこーだ議論をする。気になったことを質問したり、どうも良く分からないことをみんなで考えたりする。 テストがないコードはレガシーコードだ!というキャッチフレーズはわたしの心をとらえた。 参加者の皆さんとその価値観を共有できた事はうれしい。 現場での開発の実情をいろいろ教えてもらった。テストを書くことはあまり一般的ではないということにわたしは衝撃を覚えたのであるが、この読書会を通じて、テストを書かない開発というのがレガシーコードを作っている事に他ならないという共通の認識

    テストを書くこととテストをすることの違い - 未来のいつか/hyoshiokの日記
  • 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 のプロダクトで、下記のような特徴があります。 指定されたディレクトリに含まれるテストの実行 指定されたファイルに含まれるテストの実行 指定されたファイル

  • いまからでも間に合う開発者テスト - mixi engineer blog

    はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、

    いまからでも間に合う開発者テスト - mixi engineer blog
  • PHPUnit とかで assertTrue とか面倒だから at とかにするライフハック - 肉とビールとパンケーキ by @sotarok

    いや,多分ハックしてるのはライフじゃないとおもうんですけど,まーライフハックしつつハックするってかんじで. まーテスティングフレームワークっていろいろあるとおもうんですけど,PHPUnitがなんかカッコイイから使ってみている最近です. sebastianbergmann/phpunit · GitHub PHPUnit Manual ja で,やっぱり色々面倒なのは, assertTrue とかですよね? 最小のテストコードって以下のようになってると思うんですよ.(マニュアルから抜粋) <?php require_once 'PHPUnit/Framework.php'; class StackTest extends PHPUnit_Framework_TestCase { public function testPushAndPop() { $stack = array(); $thi

    PHPUnit とかで assertTrue とか面倒だから at とかにするライフハック - 肉とビールとパンケーキ by @sotarok
  • SimpleTest - Unit Testing for PHP

    SimpleTest 1.1alpha is available. This is the first PHP5 only release (PHP 5.0.5+ to be precise). SimpleTest 1.0.1 has been released. This is the last PHP 4 compatible release. Familiar with unit testing ? Just dive directly into SimpleTest with the one-page starter and the complete API. Otherwise see the ongoing documentation. And for example test cases check out the tutorial. Need help on your t

  • 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