タグ

TDDに関するt_a_oのブックマーク (53)

  • UnitTestのためのクラス設計

    Editor's Notes\n\n\n\n\nユニットテストの説明に前に本講義で多用されるオブジェクト指向と&amp

    UnitTestのためのクラス設計
  • テスト駆動開発の進化 - Digital Romanticism

    デブサミ関西2012での講演内容まとめ はじめに 今月、GOOS日語版が発売されました。 実践テスト駆動開発 (Object Oriented SELECTION) 作者: Steve Freeman,Nat Pryce,和智右桂,高木正弘出版社/メーカー: 翔泳社発売日: 2012/09/14メディア: 大型購入: 4人 クリック: 262回この商品を含むブログ (31件) を見る継続的デリバリーに続き、高木さんと一緒にお仕事をするのはこれで二冊目です。今回も多くの人に助けられて、目標としていたデブサミ関西での出版にこぎつけることができました。関係者の皆さま、どうもありがとうございました。 講演では触れませんでしたが、ここで「実践テスト駆動開発」というタイトルの由来について少し書いておきます。原書のタイトルはご存じの通り、"Growing Object-Oriented Softwa

    テスト駆動開発の進化 - Digital Romanticism
    t_a_o
    t_a_o 2012/09/25
  • バーチャルパネル: コードとテストの比率、TDD、BDD

    JB:この件について一般化するのは嫌なので、私がTDD/BDD使うときとその理由を説明させてください。 私が初めてTDDに出会ったのはミス(欠陥といってもバグといってもいいでしょう)を防ぐ方法を求めていたからです。プログラム上の多くのミスのおかげで私は完璧さの感覚を失ってしまいました。どんなことを成し遂げても仕事が完璧に近づいたと感じたことはありませんでした。そして、書いたコードをテストすれば、ばかげた小さなミスを見つけ修正できるのではないかと考えました。テストをしてミスを見つけたかったのは、愚かにみられるのを防ぐためというより、仕事に対する完璧さの感覚を失わないようにするためです。実際テストは役に立ちました。数年経って、TDDはコーディングのミスを防ぐのに役に立つだけでなく、デザインの失敗を防ぐのにも役に立つことに気づきました。そしてBDDを学び、どのような機能を実装するかについての失敗

    バーチャルパネル: コードとテストの比率、TDD、BDD
    t_a_o
    t_a_o 2012/08/03
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • Naming standards for unit tests — Roy Osherove

    The basic naming of a test comprises of three main parts: [UnitOfWork_StateUnderTest_ExpectedBehavior] A unit of work is a use case in the system that startes with a public method and ends up with one of three types of results: a return value/exception, a state change to the system which changes its behavior, or a call to a third party (when we use mocks). so a unit of work can be a small as a met

  • JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト

    1. 実践JUnit xUnitTestPatternsから学ぶユニットテスト 2012.06.16 OSC 2012 北海道 Shuji Watanabe (@shuji_w6e) 1

    JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
    t_a_o
    t_a_o 2012/06/19
  • 今日からはじめるJS UnitTest

    なぜ「テストを書く理由」が重要なのか テストもプログラムの一部 ただし、直接は機能を追加しない しかも、メンテナンスコストは高い

  • http://www.tdd-django-tutorial.com/tutorial/1/

  • testdrivenjs.com

    The domain has expired and may be available at auction. If this is your domain, you can still renew it. Register or transfer domains to Dynadot.com to save more and build your website for free! testdrivenjs.com 2022 著作権. 不許複製 プライバシーポリシー

  • 地獄Spec

    38. ⑤失敗・教訓(充実してきた頃) カバレッジは万能じゃない -「レガシーコード=テストの無いコード」なので意 味はあるが・・・ -Reekを取るようにした(お手軽/ReekViewer) https://github.com/Shinya131/reekviewer FactoryGirlがパンクした -factory.rbに全てぶっ込むのではなく、 factoriesフォルダ以下にファイル分割配置 -リレーション指定やりすぎると破綻(メンテ不能)に

    地獄Spec
  • テストをすっきり書く方法 - 2012-04-25 - ククログ

    はじめに ソフトウェアを作るときには同時にテストも作ります。 テストを動かすことで、ソフトウェアが設計の通り動作しているかを確認できます。もし設計の通りに動作しない場合はテストが失敗し、ソフトウェアに期待する動作と現在の間違った動作が明確になります。 テストをすっきりと書くことができると、テストを読みやすくなり、また、きれいなソースコードのままで新しくテストを追加することができます。 今回は、そのすっきりとテストを書くための方法について説明します。 テストを追加していくと発生する問題 例えば、1つのテストケースの中にいろいろな機能のテストがある場合を考えます。 ここで、ある機能の実装を修正したので、この機能に関するテストを追加しようとしました。 テスト名に「テストのコンテキスト」と「テスト対象」を含めてどのような内容のテストかを示します。 このとき、ある機能に対して様々な動作をテストするこ

    テストをすっきり書く方法 - 2012-04-25 - ククログ
  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
    t_a_o
    t_a_o 2012/04/19
  • ノーフレームワークのレガシーPHPがCIに乗るまで

    ついに仕事で触っている PHP のコードがほんの一部のテストとは言え CI に乗った。 正直これは感動ものだ。 今回はここに至るまでの長大な物語をダイジェストでお届けしようと思う。 有史以前PHP 3 で作られた 1 URI : 1 スクリプト + 共通関数 時代 当然のように PHPHTMLSQL 混在まともなテスト環境がなかったので似た環境をどうにか作るパスとか絶対で埋め込みまくりなのでとりあえず共通のパス情報の変数に差し替えまくりテスト環境用のコードと番環境用のコードが違うオール目視 つらかった。 みなさんの予想通りバージョン管理なんてものは存在しなかった。 素朴なPHPを徐々にclassにclass になれば phpdoc を書きやすくなるいきなり実行しないようにすればテストしやすくなる これは後から気づいたんだけど、結局フロントはロクに自動テストできてない一時期 p

  • JSTDD Intro for EVERY JavaScripters @kanazawa.js v1.7 (2012-03-31)

    デザイナもエンジニアも参加する kanazawa.js のために JavaScript を題材にして TDD を紹介します。

    JSTDD Intro for EVERY JavaScripters @kanazawa.js v1.7 (2012-03-31)
  • ricollab Web Tech Blog » Blog Archive » Mock と Stub について

    初めまして、リコーの沖田です。この度私もこの blog を書くことになりました。以後よろしくお願いいたします。 みなさんテストは好きですか?私も含めて私の同僚は皆テストが大好きなので、しばしばテストの議論で白熱しすぎてしまいます。今日はそのテストの中から Mock(モック) と Stub(スタブ) について書いてみたいと思います。 Test Double まずテストにおける Mock と Stub についてですが、これらは Test Double という概念の一部です。Double とは代役という意味で、テスト対象となるシステムが依存する外部のコンポーネントの代わりに、それらしく振舞ってくれるコンポーネントを代役として利用しようということです。 例えば Web アプリの Controller の単体テストがしたい場合に、Model の実装が完了するまでテストができないっていうのでは大変です

  • mockはこう使え - atsuoishimoto's diary

    最近、Mockライブラリ http://www.voidspace.org.uk/python/mock/ を使ってみたのでメモ。 このライブラリは、その性質上、動的にメソッドや属性を作成するケースが多く、普通のPythonライブラリのようにイントロスペクションに頼って使い方を調べるのは難しい。気で使うならまじめにドキュメントを読み込む必要がある。 関数の置き換え テスト中に呼び出される関数をMockで置き換える例。ここでは、関数 myapp.utils.func1() を置き換える。 from mock import Mock import myapp.utils # myapp.utils.func1 を、常に100を返す関数に置き換える myapp.utils.func1 = Mock(return_value=100) 戻り値が定数でない場合は、Mock()にside_effec

    mockはこう使え - atsuoishimoto's diary
  • NUnit で実行するテストを変更する (GUI 編) - お だ のスペース

    NUnit でテストアセンブリ内のテストケース全て実行すると遅い等の理由で、一部のテストケースしか実行したくないという事があると思います。 これも、CUI/GUI どちらでも出来ます。まずは GUI から。 GUI の場合はテストケースの実装に Category 属性を仕込む必要があります。 using NUnit.Framework; namespace ClassLibrary1 { [TestFixture] public class Class1Test { [Test] public void Multiply1() { Assert.AreEqual(4, new Class1().Multiply(2, 2)); } [Test] [Category("B")] public void Multiply2() { Assert.AreEqual(4, new Class1()

  • NUnit で実行するテストを変更する (CUI 編) - お だ のスペース

    NUnit で実行するテストを変更する (GUI 編) - お だ のスペース の続きです。 今度は CUI で試してみます。 CUI の場合は、GUI よりも細かい指定が可能です。 GUI と同じ様に Category で選択する場合は、/include、/exclude パラメータで指定します。 Category が "B" か "C" の物が対象 nunit-console.exe 〜\ClassLibrary1.nunit /xml=〜\TestResult.xml /include=B,C Category の指定の仕方は色々なパターンがあります。詳しくは、NUnit - ConsoleCommandLine の 「Specifying Test Categories to Include or Exclude」を参考にして下さい。 CUI の場合には、Category 以外にも

    NUnit で実行するテストを変更する (CUI 編) - お だ のスペース
  • xUTP Magazine - xUnitester Hotlinks: 第一回 和田卓人さん(上)

    xUnitester Hotlinks は、毎号、著名な xUnitester にインタビューを行っていこう、という企画です。 栄えある第一回のインタビューは、日の TDD 伝道師、和田卓人さんにお願いしました。 編集作業の関係で上下編に分割となりました。ご了承ください。(編集部) 和田卓人(わだたくと) タワーズ・クエスト株式会社取締役社長、プログラマ、テスト駆動開発者。 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒する。その後様々な縁に導かれソフトウェアパターンやXP(eXtreme Programming)を実践する人たちと出会い、後のテスト駆動開発の誕生を知る。テスト駆動開発に「完璧主義の呪い(完璧な設計を得るまではコードを書けないし良いシステムも出来ないという強迫観念)」を解いてもらってからは、文章を書いたり、講演を行ったり、ハンズオンイベントを開催するな

    t_a_o
    t_a_o 2012/01/07
  • 【C# Advent Calendar 2011 12/19】 Windows.FormsだってTDD! - an SE diary

    このエントリはC# Advent Calendar 2011の19日目のエントリとなります。 18日目はkkamegawaさんの.NET 4.5でのTPL改良についてです 20日目はzoetroさんのReactive Extensionsでセンサプログラミングです 今月に入って、テストのないレガシーなWindows.Formsのやっつけコード(とバグ)を量産しているmasakitkです。 11月にはAdventCalendarのネタを考える時間があったのですが、忙しくなってどこかに吹き飛んでしまいました。 ということで、NUnitFormsをつかったWindows.FormsのGUIまわりのTDDについて書きます。 手順としては、 まずはUIのデザインを行う。 テストを書く(Nunit、NunitForms) 実装を行う (リファクタリングする:今回割愛) といった進め方になります。 UI

    【C# Advent Calendar 2011 12/19】 Windows.FormsだってTDD! - an SE diary
    t_a_o
    t_a_o 2012/01/07
    NUnitForms