Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where is the MOQ documentation? [closed]

Where can I find comprehensive documentation for MOQ? I'm just starting with mocking and am having difficulty getting my head around it. I've read through all the links at http://code.google.com/p/moq/wiki/QuickStart but can't seem to find a tutorial or gentle introduction.

I have also looked briefly at Rhino Mocks but found it very confusing.


Yes - I read Stephen Walthers article - very helpful. I also went through the links. I can't seem to watch the video at http://www.bestechvideos.com/2008/06/08/dimecasts-net-introduction-to-mocking-with-moq [broken link]

Specifically I am trying to determine whether an event was raised from the mocked class. I can't get the example for events on the QuickStarts page to compile. On the google groups, Daniel explained that CreateEventHandler can only handle an event of type EventHandler<TEventArgs>, but even then I can't get the code to compile.

More specifically I have a class that implements 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 .....     } 

How do I mock the class to test whether the PropertyChanged event was fired? I can't rewrite the event to public event EventHandler<PropertyChangedEventArgs> becuase I get this error:

Error 1 'CoreServices.Notifier' does not implement interface member System.ComponentModel.INotifyPropertyChanged.PropertyChanged'. 'CoreServices.Notifier.PropertyChanged' cannot implement 'System.ComponentModel.INotifyPropertyChanged.PropertyChanged' because it does not have the matching return type of 'System.ComponentModel.PropertyChangedEventHandler'.

like image 400
Jeremy Holt Avatar asked Oct 23 '08 19:10

Jeremy Holt


People also ask

Is Moq open source?

The Moq framework is an open source unit testing framework that works very well with .

What is setup in Moq?

Setup method is used to set expectations on the mock object For example: mock. Setup(foo => foo. DoSomething("ping")). Returns(true);

Why do we use Moq in unit testing?

Moq is a mocking framework built to facilitate the testing of components with dependencies. As shown earlier, dealing with dependencies could be cumbersome because it requires the creation of test doubles like fakes. Moq makes the creation of fakes redundant by using dynamically generated types.


2 Answers

Moq's latest documentation is now available at github wiki page:

https://github.com/Moq/moq4/wiki/Quickstart

Previously they were on Google Code. As well as the wiki and other online resources, there's full documentation in Windows .CHM help-file format included in the Moq binary download linked from the Moq homepage.

like image 147
Dylan Beattie Avatar answered Sep 20 '22 09:09

Dylan Beattie


Have you watched Introduction to Mocking with Moq? It's an introductory overview of using Moq and is intended for those who are new to either mocking in general, or the Moq framework itself.

like image 24
Bill the Lizard Avatar answered Sep 20 '22 09:09

Bill the Lizard