Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 101515
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:47:09+00:00 2026-05-11T00:47:09+00:00

So I’m new to rhino mocks and I’m trying to get it going in

  • 0

So I’m new to rhino mocks and I’m trying to get it going in a MVP patterned project I’m on. So I’ve got an interface representing my View and a class for my Presenter like so:

public interface IView {   string SomeData { get; set; } }  public class Presenter {   public IView View { get; set; }   public void Init(IView view) {     this.View = view;   }    public virtual string DoStuff(){     return 'Done stuff with ' + this.View.SomeData;   } } 

And I’m trying to set up a test to mock the DoStuff method, so I’ve got a basic fixture like this:

[TestMethod] public void Test(){   var mocks = new MockRepository();   var view = mocks.Stub<IView>();   var presenter = mocks.StrictMock<Presenter>();    presenter.Init(view);    using(mocks.Record()){     presenter.Expect(p => p.DoStuff()).Return('Mocked result');   }    string result = string.Empty;   using(mocks.Playback()){     result = presenter.DoStuff();   }    Assert.AreEqual(result, 'Mocked result'); } 

But I keep getting a null reference exception from within the DoStuff method (during the expectation setup), because the View object is null. And this is where I’m stuck. I’ve called the Init method, which assigns the value of the View property, and I thought that the point of an expectation setup was that the method itself wasn’t ever called?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:47:10+00:00Added an answer on May 11, 2026 at 12:47 am

    You need to mock the View property as well, instead of calling the Init method on the mocked presenter.

    presenter.Expect( p => p.View ).Return( view ); 

    You might also want to look at using the new AAA (Arrange-Act-Assert) syntax for RhinoMocks.

    string expectedResult = 'Done stuff with Mocked Result';  var view = MockRepository.GenerateMock<IView>(); view.Expect( v => v.SomeData ).Return( 'Mocked Result' );  var presenter = new Presenter(); presenter.Init( view );  string actualResult = presenter.DoStuff();  Assert.AreEqual( expectedResult, actualResult );  view.VerifyAllExpectations(); 

    EDIT After looking at this again, I would agree with @ayende that you should probably only mock/stub the view not the presenter. I’ll leave the original correction to get your code to work, but update my example to reflect the latter.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 70k
  • Answers 70k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Is there a quick and easy way to do this?… May 11, 2026 at 1:01 pm
  • added an answer Create and run .Reg file with this and make sure… May 11, 2026 at 1:01 pm
  • added an answer Additional dependancies was 'NoInherit', when I looked 'under' the setting,… May 11, 2026 at 1:01 pm

Related Questions

So I'm getting a new job working with databases (Microsoft SQL Server to be
So I have a Sybase stored proc that takes 1 parameter that's a comma
So I'm embarking on an ASP.NET MVC project and while the experience has been
So I've got a JPanel implementing MouseListener and MouseMotionListener : import javax.swing.*; import java.awt.*;
So I wrote some perl that would parse results returned from the Amazon Web

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.