【发布时间】:2010-09-18 20:56:40
【问题描述】:
在哪里可以找到 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 只能处理 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”的匹配返回类型。
【问题讨论】:
-
显示的错误是视觉工作室/编译器错误。只需从 bin 文件夹中删除所有内容并重建即可。
-
我的答案中指向Moq Mocking 简介的链接已修复。
-
链接被破坏(再次)
-
同意 Moq 主页对于刚接触框架的人来说真的很糟糕。
-
@Martijn Pieters 或其他人请重新打开此问题
标签: c# .net testing mocking moq