タグ

Molesに関するyamap_55のブックマーク (4)

  • C# / Moles で dynamic を使う (Chaining Assertion を使って private メンバのテストを書きたい) - 木曜不足

    実は最近 C# でちょっと動作確認がめんどくさいコードをぺけぺけ書いている。 というわけで、珍しく(?)できるだけ手厚くテストを書こうとしているのだが、外部のライブラリとかサービスとか絡んでいて、まさにテスト泣かせな状況。 そう、今こそレガシーコード(WEwLC, レガシーコード改善ガイド)を読んだ経験が生きるとき! なんか Seam とか Sprout とかあったよなあ……とをひっくり返しそうになったが、今は Moles といういいものがありまして。 Moles は MS 謹製のモックフレームワークで、一言で言うと「任意のメソッドの振る舞いをアドホックに書き換えることができる」という最終兵器的な代物。 例えば、中で現在日時の取得を行なっているコードをテストしようと思ったら、その日時取得部分を関数オブジェクトとか delegate とかまあなんしかそこらへんの手段で外出しして……みたい

    C# / Moles で dynamic を使う (Chaining Assertion を使って private メンバのテストを書きたい) - 木曜不足
  • 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の日記
  • Pex, Automated White box Testing for .NET - Microsoft Research

    Pex in the News and Blogs July 5, 2015: Pratap Lakshman on IntelliTest – One Test to rule them all May 22, 2015: ALM rocks: IntelliTest-What Happens If I Add Some More Code May 21, 2015: ALM rocks: IntelliTest-Getting Started April 18, 2015: Pratap Lakshman on Smart Unit Tests – Test to Code Binding, Test Case Management April 2, 2015: developertech: Visual Studio 2015 line-up and pricing announce

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

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

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