タグ

2009年11月6日のブックマーク (12件)

  • ViewのRSpecを書いてみた - yuumi3のお仕事日記

    現在ネットショップを作っているのですが、やや複雑なビジネスロジックを持っています。当然モデルはRSpecを書いて仕様の確認(テスト)しているのですが、開発中に注文の確認画面の表示がおかしい問題がよく発生しました。 View自身はモデルやヘルパーの呼び出しが主ですが if で表示を変えたりする部分もありモデルが正しいからといって表示も大丈夫とはなりません。 さらに、注文の確認画面はお客様に、お買い物の金額を伝える大切な画面です。ここにバグがあるとネットショップとしてはたいへんな問題になります。ということで 注文の確認画面 View にもテスト・RSpecを書く事にしました。 ViewのRSpecの書き方 RSpecのページに View Example がありますが、これだけでは良く解りません ^^; しかし、RDocの中のサンプルがとても参考になります。 モデルやコントロラーのRSpecでは

    ViewのRSpecを書いてみた - yuumi3のお仕事日記
    soh335
    soh335 2009/11/06
  • プライベートメソッドに対するテスト方法 - t_komuraの日記

    phpunit などを使って PHP スクリプトをテストする時に、プライベートメソッドをテストしたくなる時があると思いますが、PHP では結構難しいように思います。 PHP でプライベートメソッドをテストする方法として、思い付くのは以下の方法くらいでしょうか。 パブリックメソッドからプライベートメソッドを完全にテストできるように工夫する プライベートメソッドのテスト用にパブリックメソッドのラッパーを作成しておく テスト時のみ、テストしたいプライベートメソッドの Private を Public に書き換える Runkit などを使って定義を変更する 1. が実現できれば問題ないのですが、全てがうまくいくようにパブリックメソッドを作成するのは困難だと思います。また、テストのためだけにメソッドを増やしたり、変更したくないため、2. と 3. はあまりやりたくありません。4. であればできそうな

    プライベートメソッドに対するテスト方法 - t_komuraの日記
    soh335
    soh335 2009/11/06
  • UK STUDIO - RSpecでprivateメソッドをテストする

    Object#send(__send__)ならメソッドの呼び出し制限に関わらずメソッドを呼び出すことが可能なので、privateメソッドもテスト可能。 確か、1.9以降はメソッド呼び出し制限がObject#sendにも影響するとどこかで見た記憶があるのだけど結局そうはなっていないみたい。 1.9.1、1.8.7で確認済み。 ちなみにオマケ。 Pythonはメソッド名の前にアンダースコアを2つけるとprivateなメソッドになるのだけれど、実際のところ別名でメソッドを定義してそちらを呼び出してるっぽい。別名で定義された方はprivateではないので、そちらを呼び出してテストすることが可能。 他にもJavaだったらsetAccessible(True)を実行すればpublicなメソッドに変更されるのでテスト可能。と聞いただけで確認はしていない。

    soh335
    soh335 2009/11/06
  • Redmineのプラグインが充実している - プログラマの思索

    昨年に比べると、Redmineのプラグインがすごく充実している。 いろいろ試してみてメモ。 【コードレビュー】 r-labs - Code Review - Redmine Redmineリポジトリ画面からコードレビューのチケットを発行できる。 UIも使いやすいし、チケットでレビュープロセスを管理できるから、ReviewBoardでわざわざコードレビューしなくても良い気がしてきた。 それぐらい素晴らしいプラグイン。 【Hudson】 r-labs - Hudson - Redmine RedmineからHudsonと連携できる。 以前は、Redmine - PluginSimpleCI - RedmineでしかCIツールと連携できなかったが、このプラグインの方がはるかに高機能。 Hudsonを使っているなら、このプラグインは必須。 このプラグインのおかげで、ビルド管理をチケット駆動開発に含

    Redmineのプラグインが充実している - プログラマの思索
  • OSC2009 Tokyo/FallでCukeとRSpecの紹介をしました - moroの日記

    休んでいるうちにずいぶん時間が経ってしまいましたが、10/31のOSCにてお時間をいただき、Railsの昨今のテスト事情について紹介させていただきました。普段から申しているようにCucumberとRSpecをぐいっと推しています。 Rails testing environment, 2009 fallView more documents from Kyosuke MOROHASHI.あとはRSpec方面で、subjectやitsの使い方について、使いながら考えているようなことを書いています。 前にオブラブ方面でCuctomMatcherの話をしたときに、簡単なCustomMatcherを量産するのはだるいんじゃない?という懸念があったんですが、その一つの解としてits()はありかなー、と。使い分けはこんな風になると思います。 CustomMatcher作る 検証内容が複雑になるとき エ

    OSC2009 Tokyo/FallでCukeとRSpecの紹介をしました - moroの日記
  • 「吹き出し」をツールチップとして実装するjsいろいろ

    マウスオーバー等で吹き出しが 現れるツールチップのまとめです。 jQueryが殆どになります。 吹き出しは画像やcssを変更 すれば別の形状にする事も可能 なのでうまく活用したいですね。 吹き出し以外のツールチップを実装できるjsをお望みでしたら以下の記事が参考になりそうです。 15 jQuery Plugins To Create A User Friendly Tooltip 40+ Tooltips Scripts With AJAX, JavaScript & CSS vTip 凄く可視性が高い吹き出し。フェードインで表示し、マウスオーバーの間はマウスストーキングします。使いやすそう。対象がテキストでも画像でもOK。試しに入れてみました。以下のリンクにマウスをあわせるとバルーンが現れます。角はcssで丸くしました。デフォルト状態だとマウスカーソルにarrow部分が重なってしまうので

    「吹き出し」をツールチップとして実装するjsいろいろ
  • javascript-mode から js2-mode へ移行 - gan2 の Ruby 勉強日記

    javascript-mode の挙動がおかしくなってたから直そうとしたんだけど いい機会だからまた js2-mode を試してみた。 そしたらいい感じだったので今度こそ乗り換えることにした。 js2-modeを使いやすくする - speg03の日記が分かりやすくまとまっていて大変助かりました。 ほとんどの部分は参考先と同じで 変更したのは .emacs に記述する my-js2-mode-hook の冒頭部分のみ。 以下の2つの設定値を 4 ではなく 2 にした。 espresso-indent-level c-basic-offset 個人的に JS のインデントはスペース2つが好きなので。 (defun my-js2-mode-hook () (require 'espresso) (setq espresso-indent-level 2 indent-tabs-mode nil

    javascript-mode から js2-mode へ移行 - gan2 の Ruby 勉強日記
    soh335
    soh335 2009/11/06
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • CanvasでParticles(Sand) - os0x.blog

    HTML5のcanvasで作る画像フィルター」は自分ならこう書く - by edvakf in hatenaとCanvasでローレンツアトラクタ - by edvakf in hatenaに刺激されてCanvasネタを1つ。といっても以前やったOperaのCanvasでParticles(Sand/Snow) - 0xFFの焼き直しです。 canvas sand (例によって劇重注意) Chromeで見ると良い感じだと思います(ただし、Chromeは容赦なくマシンリソースを使うのでPCが不安定になるかも…)。一応、uupaa-excanvas.jsを読み込んでいますが、IEのcreateImageDataはサポートされていないので、動作しません。Operaでも動くはずなんですが、基動かないっぽいです…。リロードしてるとたまに動きます。よくわからない…。ただのキャッシュ問題でした… すご

    CanvasでParticles(Sand) - os0x.blog
  • GemcutterにRubyForgeから一括インポートされている自分のGemが更新できなくて困った>Gemcutterの中の人に連絡して解決 - 今日もスミマセン。

    と、いう人が結構いるみたい。 自分もその一人。 gem push しようとしたら、permissionが... $ gem push ruby_gntp-0.2.0.gem Pushing gem to Gemcutter... You do not have permission to push to this gem.って出るし。 じゃあってんで、ここに書いてあるように、gem migrate してみるが、これも失敗。 $ gem migrate ruby_gntp Starting migration of ruby_gntp from RubyForge... A migration token has been created. Uploading the migration token to ruby_gntp.rubyforge.org. There was a proble

    GemcutterにRubyForgeから一括インポートされている自分のGemが更新できなくて困った>Gemcutterの中の人に連絡して解決 - 今日もスミマセン。
  • Vim-users.jp - Hack #97: 同じコマンドを実行する

    soh335
    soh335 2009/11/06
  • 「ツイート」を「ツイート(笑)」に置換するブックマークレット - IT戦記

    【急募】twitterトップページのツイートをツイート(笑)に置換するグリモン notfunc on Twitter: "【急募】twitterトップページのツイートをツイート(笑)に置換するグリモン" というわけで書いてみた javascript:var r=document.evaluate("//text()[contains(., 'ツイート')]", document, null, 7, null);for(var i=0;i<r.snapshotLength;i++)r.snapshotItem(i).nodeValue=r.snapshotItem(i).nodeValue.replace(/ツイート/g, 'ツイート(笑)');void(0); Firefox 系と WebKit 系と Opera 系で動きます。たぶん。 ロケーションバー(URL が書いてあるところ)に貼付

    「ツイート」を「ツイート(笑)」に置換するブックマークレット - IT戦記
    soh335
    soh335 2009/11/06
    うける