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

  • SEARCH
  • Home
  • 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 995127
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T06:40:28+00:00 2026-05-16T06:40:28+00:00

in order to test another class, I want to create a stub for an

  • 0

in order to test another class, I want to create a stub for an interface IFoo:

public interface IFoo
{
    int DoSomething(int value);
}

The stub is created in the SetUp (or TestInitialize)-method for the test fixture and stored in a property as almost all test methods need an IFoo:

this.Foo = MockRepository.GenerateStub<IFoo>();

As IFoo.DoSomething needs just to return the passed value in all cases except one I added this behavior to my SetUp method:

this.Foo.Stub(f => f.DoSomething(0)).IgnoreArguments().Return(0).WhenCalled(mi => mi.ReturnValue = mi.Arguments[0]);

Now, however, this one test requires different behavior: Rather than returning the passed argument, a constant should be returned if the passed value equals another constant. The following approach (written in the test method itself) does not work:

this.Foo.Stub(f => f.DoSomething(42)).Return(43);

The previous specified, more general stub seems to override the more specific stub.
Is there any way to specify both specific and general stubs on RhinoMock-objects?

One workaround would be recreating the stub in the test-method itself – a duplication I would like to avoid. I could live with this version, however.
What I also do not want is a explicit exclusion of the “42” in the general statement via Constraints as this will effect the other tests negatively.
Calling BackToRecord is also not an option as it seems to reset other stubs, too.

Thanks for your answers!

  • 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. Editorial Team
    Editorial Team
    2026-05-16T06:40:28+00:00Added an answer on May 16, 2026 at 6:40 am

    I just found the solution to actually “override” stubs / expectations:
    Rhino Mocks: How to clear previous expectations on an object?

    Applied to my problem I can now write:

    this.Foo.Stub(f => f.DoSomething(42)).Return(43).Repeat.Any();
    

    The documentation to Any says:

    Repeat the method any number of times. This has special affects in that this method would now ignore orderring.

    So this seems to be neither a bug or an undocumented feature.

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

Sidebar

Related Questions

in order to test a managed class I tried to create an instance in
I created a simple application inspired by this example in order to test all
In order to automate unit tests on TeamCity I had to create a test
Here's the situation : I want to create a test application which would be
I'm trying to create a class to represent the value of a column in
Suppose I want to test a method Foo.doSomething(String arg):String using EasyMock . I know
In order to increase test coverage of my project, I'm starting to build tests
I'm trying to test an Order entity method called AddItem and I'm trying to
I am writing a junit test in order to (surprisingly) test a part of
Possible Duplicate: Choose order to execute JUnit tests I am writing a JUnit test.

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.