タグ

tddに関するkorinのブックマーク (26)

  • TDD use Perl - Qiita

    あけましておめでとうございます。 昨年は JS くらいしか書いてないような気がするので Perl +TDD で年始め。 題材には これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE の問題を流用します。文量がありますが良記事なので、未読の方は一度読んでおくと良いです。(Perl環境は用意されているとします) 今回利用するモジュールとかツールとか Test::Harness ... テストを実行するコマンド prove を利用できるようにする App::Cpanminus ... CPANモジュールをインストールするコマンド cpanm を利用できるようにする Carton ... 開発するディストリビューションで依存するモジュールを管理するツー

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

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

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

    You recently received an email asking you to confirm your contact details. Because you didn’t confirm within 15 days, your domain was deactivated. ​ Final reminder: we’re holding onto your domain for an additional 7 days. After that, you won’t be able to reactivate it. To keep this domain, reactivate it as soon as possible.

  • 思い通りに動くコードを書きたい #TddAdventJp - 日々常々

    2012年のTDD Advent Calendar、4日目でございます。 TDD Advent Calendar jp: 2012 : ATND 3日目 @grimroseさん open build/reports/life/index.html: スタッフになってみませんか? #TddAdventJp 5日目 @a_suenamiさん 受託開発でTDDを導入するということ #TddAdventJp - assertInstanceOf('Engineer', $a_suenami) 自分にとってのTDDを考える 「TDDとは?」なんて掲げたところで、万人に通じる明確な答えを私は持っていません。原典はありますが、相応に進化も派生もしておりますので、固執する必要はないと思います。その上であえて「私にとってのTDD」を挙げるなら、以下の二点になります。 思い通りに動くコードを書く コードの成長

    思い通りに動くコードを書きたい #TddAdventJp - 日々常々
    korin
    korin 2012/12/27
  • TDD の素振りをしよう - haru01のめも

    このエントリは、 TDD Advent Calendar jp: 2012 : ATND の 18 日目の参加エントリです。前日のエントリは @t_wada さんの「愛せないコードを書くには人生はあまりにも短い」というタイトルで TDD について講演させていただきました #TddAdventJp #devlove2012 - t-wada の日記(旧)でした。 ここでは TDDの素振りのススメを語っていきます。 素振り重要 おそらく、いきなり番の仕事で、初めてTDDを実践しようにも、体や頭や心がついてこなくて、時間がかかってしまったり、フラストレーションが溜まり、やがて中断してしまうのではないでしょうか。 実際に体-頭-心が動くようになるには、普段からTDDやプログログラミングの練習、素振りが欠かせません。野球選手もいきなりバッターボックスに立つのではなく、日々の素振りやバッティング練習

    TDD の素振りをしよう - haru01のめも
  • ひのきの棒を駆使してレガシーコードに立ち向かう #TddAdventJp - PoohSunny's blog

    このエントリは、TDD Advent Calendar jp: 2012 : ATNDの20日目のエントリです。 昨日は、@mike_neckさんのIPA 平成24年度 システムアーキテクト試験 午後2 問1 解答例 with TDDでした。 今日はTDD初心者がひのきの棒(覚えたてのなけなしの知識)を使ってレガシーコードに立ち向かう話をしようと思います。 レガシーコードにTDD? TDDと聞くと、なんとなく新規コードや、テストが既にある程度整っているプロダクトに対して行うものというイメージを持つ方もいらっしゃると思います。 というか私がそうでした。 しかし、もちろんですがTDDはレガシーコードにも有効です。 TDDBCなどに参加していいなーと思って、最低限の知識はキャッチアップしてみた。 これからもっと武器強くしてレベルアップしたいと思ってるんだけど、 仕事ではレガシーコードばっかで、T

    ひのきの棒を駆使してレガシーコードに立ち向かう #TddAdventJp - PoohSunny's blog
  • 私はRSpecでテストをこんな感じで書いてる - アジャイルSEを目指すブログ

    私がRSpec使ってテスト書く時はこんな感じで書いてるよ〜ってのを書いてみた。*1 テストを書く順番について TDDでコードを書く場合、先にテストを書く事になります。 そして、そのテストを書く順番ですが、私は下記のような順番で書くように意識しています。 設計する describe を書く itを書く subjectを明確にする before(context)を明確にする その他に、気をつけている点はこんな感じ 別のメソッド呼ぶ時は基的にstubなどで潰す contextは「〜の場合」、it は「〜であること」になるようにする 一つずつ、詳細を書きます。 設計する テストを書き始める前に、まず実装しようとしてるクラス、メソッドを簡単に設計します。 少なくとも、「クラス名」「クラスメソッド or インスタンスメソッド」「メソッド名」「メソッドの戻り値」ぐらいは決めます。 describe を

    私はRSpecでテストをこんな感じで書いてる - アジャイルSEを目指すブログ
  • RSpec のすごいところ - kなんとかの日記

    (注: 以下の内容は、RSpec ユーザの間で広まっていることでもなく、もちろん RSpec 開発チームの公式な見解でもなく、あくまでワシの個人的な見解です。) RSpec のすごいところは、コードに対してではなく仕様に対してテストを書くことを明確にしたことだと思う。何を今さらと言われそうだけど、今さらになってようやく気づいたニワトリ頭ですまんかった。 ワシも最初は、「assert_equal(expected, actual)」のかわりに「actual.should == expected」と書くかっこよさに目を奪われて、テストコードを自然言語に近い形で記述するのが RSpec のすごいところだと勘違いしてたし、それが「TDD (Test Driven Development)」から「BDD (Behaviour Driven Development)」へという新しい潮流だと勘違いしてた

    RSpec のすごいところ - kなんとかの日記
  • テストケースのベースクラス GAETestBase を作った - たごもりすメモ

    前に書いた記事からはやくも半月たってしまったが、やっと出してもいいかなという状態になったので公開します。ファイルそのものはこちら。 GAETestBaseはPython標準のunittest.TestCase継承クラスとなってます。ユニットテストを書く際に、通常のTestCaseのかわりにGAETestBaseを継承してユニットテスト用のクラスを作り、あとは普通にテストコードが記述できます。 PythonおよびAppEngine SDK以外への依存がゼロで環境を選ばない、はず、なのが売りかな? ところで出来上がったあと公開用の準備をやってたら、GAE/J側ではslim3がkotoriを組み込んだという話が。おおお。 できること CLIでのテスト実行 開発中のテスト実行が、Python標準のunittestと全く同じようにCLIから実行できます テストケース側で指定があれば各サービスはrem

    テストケースのベースクラス GAETestBase を作った - たごもりすメモ
  • 私が、分散バージョン管理を使おうと思ったただ一つの理由

    最近デビューしました。 たった一つの理由を挙げろといわれれば 今のプログラミング開発手法のマッチしているから に尽きる。 TDDやCIが良い例だと思う。 TDDの例 SVNの場合TDDのレッド⇒グリーン⇒リファクタリングのタイミングでコミットするには粒度が小さすぎる。 でもコミットしないと小さな不安が残る。だけど、コミットすると余計なリビジョンがかさむことになる。 分散バージョン管理であれば、レッド→グリーンになったタイミングでローカルブランチにコミット出来る。 そのあと、一つのTDD(設計工程)が終わった段階でまとめてメインブランチにpushする。 ※bazaarでのやり方がわからないんだけど(汗 自分で試行錯誤しているときは安心(グリーン)したタイミングでコミット。 で、ひと段落したらメインリポジトリへpushというのが自然な流れで実行できる。 CIの例 CIの場合に、SVNでよくやる

    私が、分散バージョン管理を使おうと思ったただ一つの理由
  • Google App Engineでテスト駆動開発を行うための3つのTips | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必

  • 第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp

    はじめに Cucumberとは受け入れテストのためのテスティングフレームワークです。CucumberはRuby on Railsに依存しているライブラリではないため、例えば同じRuby制のフレームワークであるSinatraはもちろん、PHPなどで書かれたアプリケーションでも使用することができます。 Sinatraやフレームワークを使用していない素のRubyスクリプトなどをベースにCucumberの解説をすることも可能ですが、今回は仕事で使っている人が多く、また筆者自身もRailsを使って開発をしていることもあって、Railsをベースに解説させていただきます。 なぜCucumberなのか 筆者が勤めている株式会社RAWHIDE.では、Railsアプリを作成する場合、原則的にCucumberでテストを書くようにしています。Cucumber採用当時は、社内にナレッジが少ない、不慣れなど、なかなか

    第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp
  • Ruby による Win32OLE プログラミング - Excel プログラミング(初級編)

    はじめに ここでは,前のセクションで作成した FileSystemObject クラスを使って Excel ファイルをオープンするプログラムを書いてみましょう.ただオープンするのではなく,読み取り専用で Excel ファイルをオープンするツールを作ってみます. なぜこんなツールを作るのかという理由を少しだけ書いておきましょう.以前かかわった仕事ですが,そのプロジェクトでは開発文書が Excel ファイルとして Unix 上に大量にありました.ところが, Samba 経由で Excel ファイルを開くと何も修正していないのにファイルの更新日付が勝手に変わってしまうのです.これは困るので,急遽作ったのがここで紹介するExcelファイルを読み取り専用で開くツール xls.rb です.このツールを バッチファイル xls.bat から呼ぶようにして Meadow の dired から Exce

  • Python Unit Testing Framework (in Japanese)

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

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • File: TUTORIAL.ja

    【注意】この文書は、RSpecの具体的な使い方の例としては古くなっています。 RSpec 1.0.8 をベースにした説明である「スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)」も参照してください。(2007/12/14) RSpecを使おう RSpecはプログラミング言語Ruby用の ビヘイビア・スペシフィケーション・フレームワークだ。 Rubyについては、www.ruby-lang.org/ を、 ビヘイビア(振舞)駆動開発(Behaviour Driven Development)については、 www.daveastels.com/index.php?p=5 の_A New Look at Test Driven Development_ を 参照してほしい。 このドキュメントの目的は、ビヘイビア・スペシフィケーション・フレームワーク

  • RSpecの標準Matcher一覧表 - 本当は怖いHPC

    追記2(2015/09/08)ありがたいことに、未だにこの記事をブックマークしてくださる方がいらっしゃいますが、2008年に書いた記事なのでご注意下さい。内容はアップデートしていません。私自身はすでにRubyを使っていません。 追記:古い情報ですので、記事の日付とお使いのRSpecのバージョンを見比べて、参考程度にご覧ください。大部分は通用するはずですが。 Matcherをいちいち調べるのが面倒になって、公式のリファレンスマニュアルは一覧性が低いから、自分で一覧表を作った。 RSpecそのものについては、スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)などをどうぞ。そのうちRSpec on Rails版も作る予定。 名前 not((should_notで使えるかどうかという意味。)) 意味・機能 == ○ ==演算子を利用して比較する。ex

    RSpecの標準Matcher一覧表 - 本当は怖いHPC
  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
  • GAE/JRubyで開発サーバを使わずに単体テストする方法 - しばそんノート

    前置き Google App Engine for JRuby(以下GAE/JRuby)*1で開発をするにあたって不便に感じるものの一つに、単体テストのし難さがありました。 開発サーバ(dev_appserver)って起動するまでに結構時間がかかるので*2、少し修正を加えるたびに開発サーバを立ち上げ直すのも地味にストレスが溜まるんですよね…。そもそもサーブレットの中で単体テストを書くという行為自体が非効率的だと言わざるを得ません。 そんなわけで、なんとか開発サーバに頼らずに単体テストを行う方法がないものかと思っていたら…。 普通にGAEの公式ドキュメント中に解説がありました。初めからちゃんと読んでおけって話ですね…。 ローカル サービスの実装でのユニットのテスト - Google App Engine - Google Code どうやらGAE/Jの提供する各サービスの肩代わりをしてくれる

    GAE/JRubyで開発サーバを使わずに単体テストする方法 - しばそんノート
  • XP Epsiode

    Chose Vacation RentalsTips for renting your Vacation Rentals Whether you are a tenant or a landlord, here are some practical tips to help you prepare your vacation. Booking a vacation rental The reservation of your holiday rental is made directly with the landlord. It is recommended to confirm your reservation by sending a rental contract and a deposit or deposit. The balance of the stay will be p