InfoQ

News

Rhino Mocks - ラムダ版

作者 Al Tenhundfeld, 翻訳者 編集部 投稿日 2008年10月10日 午後6時1分

コミュニティ
.NET
トピック
ユニットテスト,
.NETフレームワーク
タグ
Mocks
近ごろAyende Rahien氏(リンク)がRhino Mocksのバージョン3.5をリリースした(リンク)。有名な.NETモックフレームワークである。このバージョンは、APIにおいて大きな変化と言える。 Lamba Expressions(リンク)およびExtension Methods(リンク)を使用する新たなArrange、Act、Assert構文(リンク)。こうした追加により、Rhino Mocks、Moq(リンク)の多くの革新、別の.NETモックフレームワークの人気が高まっている。

Rhino Mocks 3.5 の例:
[Test]
public void WhenUserForgetPasswordWillSendNotification_UsingExpect()
{
var userRepository = MockRepository.GenerateStub();
var notificationSender = MockRepository.GenerateMock();

userRepository.Stub(x => x.GetUserById(5)).Return(new User { Id = 5, Name = "ayende" });
notificationSender.Expect(x => x.Send(null)).Constraints(Text.StartsWith("Changed"));

new LoginController(userRepository, notificationSender).ForgotMyPassword(5);

notificationSender.VerifyAllExpectations();
}
バージョン3.5の新機能:
  • Arrange、Act、Assertモデル
  • ラムダおよびC# 3.0拡張機能
  • インライン制約
  • ネイティブおよび管理対象タイプが混在するC++のモックインターフェイスのサポート。
  • その期待を失うことなく、モックオブジェクトがレコードモードに戻ることを可能にする。
  • StrictMockを支持し、CreateMockは軽視された。
  • エッジケースにおけるより適切なエラー処理
  • モック内部クラスおよびインターフェイスで、問題を確定
  • 新たなイベント発生構文

原文はこちらです:http://www.infoq.com/news/2008/10/rhino.mock

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。

消費者主導契約を使ったサービス指向開発

この論文では、組織のサービス開発能力改善を目指した実用的な提案をします。

スケーラビリティの構築とパフォーマンスの達成:バーチャルパネル

InfoQ.com向けのこのバーチャルパネルでは、大企業やプロジェクトからスケーラビリティやパフォーマンスの著名人を招待し、みんなが夢に描いているような結果を達成するための秘密を明かしてもらいました。

アジリティのためにコンポーネントチームより機能チームを選ぶ

Craig Larman氏とBas Vodde氏は、どのように、そして、なぜ機能チームがうまくいくのかを説明し、この主要な組織の変化が価値あるものであることを主張します。

仮想化とセキュリティ

仮想化にはたくさんの利点がありますが、かと言って、その上に実装するアプリケーションのセキュリティをないがしろにしてはいけないのです。

Rubyのオープンクラス:猿のようにパッチを当てない方法

最近リリースされたRuby 1.8.7のプレビューリリースをウオッチしていたRails開発者はすぐに1.8.7プレビュー1に関してあることに気がつきました。それは、1.8.7プレビュー1がRailsを破壊してしまうということです。