MOQ の包括的なドキュメントはどこにありますか? 私はあざけることから始めたばかりで、頭を悩ませています。http://code.google.com/p/moq/wiki/QuickStartのすべてのリンクを読みましたが、チュートリアルや簡単な紹介が見つからないようです。
Rhino Mocks も簡単に調べましたが、非常に紛らわしいことがわかりました。
はい - Stephen Walthers の記事を読みました - とても役に立ちました。私もリンクをたどりました。http://www.bestechvideos.com/2008/06/08/dimecasts-net-introduction-to-mocking-with-moq [壊れたリンク]のビデオを見ることができないようです。
具体的には、モックされたクラスからイベントが発生したかどうかを判断しようとしています。QuickStarts ページのイベントの例をコンパイルすることができません。Google グループで Daniel は、CreateEventHandler は type のイベントしか処理できないと説明しましたがEventHandler<TEventArgs>
、それでもコードをコンパイルすることはできません。
より具体的には、を実装するクラスがありますINotifyChanged
。
public class Entity : INotifyChanged
{
public event PropertyChangingEventHandler PropertyChanging;
public int Id
{
get {return _id;}
set {
_id = value;
OnPropertyChanged("Id");
}
}
protected void OnPropertyChanged(string property)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
etc .....
}
PropertyChanged
クラスをモックして、イベントが発生したかどうかをテストするにはどうすればよいですか? public event EventHandler<PropertyChangedEventArgs>
このエラーが発生するため、イベントを書き直すことはできません。
エラー 1 'CoreServices.Notifier' はインターフェイス メンバー System.ComponentModel.INotifyPropertyChanged.PropertyChanged' を実装していません。「CoreServices.Notifier.PropertyChanged」は「System.ComponentModel.INotifyPropertyChanged.PropertyChanged」を実装できません。「System.ComponentModel.PropertyChangedEventHandler」の一致する戻り値の型がないためです。