タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

単体テストに関するsuusanexのブックマーク (5)

  • テスト対象を切り離す方法

    テスト対象を切り離す方法 実用的なプログラムの開発の中でUnit Test(UT)を作成しようとするとすぐに、「テストしたいオブジェクトとは別のオブジェクトがじゃまになってテストが書けない。」という問題にぶつかります。この問題の解決にはいくつか定石がありますので、基的な3つの定石を紹介します。例はRubyで書いていますが、他の言語の場合も考え方は変わりません。 1.サブクラスを作成し、メソッドをオーバーライドする方法 ちょっと無理やりな例ですが、現在時刻の時(hour)の部分だけを12時間表記の文字列にするクラスCurrentHourPrinterを作ってみます。 ファイルCurrentHourPrinter.rb ---------------------------------------------------------------------------------------

  • Moles - .NETのモック・スタブフレームワーク - jamzzの日記

    ユニットテストなどではテスト対象外の振る舞いをテスト目的に合わせるためにモックやスタブ等を作成することがあります。 .NET開発でこの様なモックやスタブを簡単に作成するフレームワークにMicrosoft ResearchのMolesがあります。 このMolesは以前に紹介したPexにも含まれています。 Molesを使用すれば設計対象範囲外(例えば.NETフレームワークのコアライブラリなど)も含めて、既存のクラスのフィールド(プロパティ)やメソッド単位でデリゲートを使用して振る舞いを置き換えることができます。 例えば public class MolesTest { public DateTime GetTheDate() { Console.WriteLine("OK"); return DateTime.Now; } } このような.NETのコアライブラリのConsoleクラスのWrit

    Moles - .NETのモック・スタブフレームワーク - jamzzの日記
  • [lib] モックとスタブの違い

    TEST http://d.hatena.ne.jp/devbankh/201001 モックやスタブを使った効率的なユニットテスト http://d.hatena.ne.jp/devbankh/201002 モックとスタブの違い コミュニケーション http://d.hatena.ne.jp/devbankh/20051124 簡単かつ効果的に話すために "モックオブジェクト"という言葉は、テストのために物のオブジェクトをまねる特殊なオブジェクトを表す言葉として定着した。しかしモックという言葉は元々スタブをキャッチーにしたものでなく、[スタブを使ったのとは別の] ユニットテスト方法を用いるためのものなのだ。この記事では、モックオブジェクトのファンに好まれる相互作用中心のテストと、よく行わている状態中心のテストスタイルとの違いを説明するために、モックとスタブの違いについて掘り下げる。 目次

    [lib] モックとスタブの違い
  • Moq探訪~その1~:Moqとは何か?Mockとは何か?そしてMockの生成 #adcjcs

    今日からぼちぼちと、最近人気があるMockライブラリの「Moq」について、学習しながら紹介していこうと思います。 初回は、Moqとは何か?Mockとは何か?そして、Moqを使ったMockオブジェクトの作成方法について紹介します。 なお、このエントリはC# Advent Calendar jp: 2010 : ATNDへの参加エントリでもありますので、興味のある方はそちらもどうぞ。 Moqとは? .NETで使える「Mockオブジェクト」を扱うオープンソース・ライブラリです。~qの名前の通り、Linqのようにメソッドチェーンとラムダ式を使って、Mockオブジェクトの操作が行えることが特徴です。 公式サイト:moq - Project Hosting on Google Code Mockオブジェクトとは? まずは”mock”を英和辞典で引いてみましょう。 “mock”の検索結果(157 件):

  • さすがMoles!Moq たちにできない事を平然とやってのけるッ - present

    はじめに Jenkins を導入して継続的インテグレーション(以下 CI)を始めてみたものの、作成済みテストの多くは他のテストの事を考えて作成されていないので、テスト環境を破壊するものが結構ありました。このまま常時テストしたところで、常時失敗するだけ。テストを修正する羽目になりましたとさ。トホホ。 既存のテストで気になるのが、単体テストの多くが、実際は結合テストになってしまっているところ。テスト対象外のクラスに意図した動作をさせるための苦労が、テストの前処理と後処理に多く見られました。「モックを使えばいいのに」って何度思ったことか。 Jenkins の導入は良い機会なので、CI を実践するという名目で、モックライブラリも導入することにしました。 ライブラリの選択 ライブラリは、Microsoft Reserch がリリースしている Moles を選択しました。 Pex, Automated

    さすがMoles!Moq たちにできない事を平然とやってのけるッ - present
  • 1