I have a property in an interface that I have mocked using Rhino Mocks. I want to know if it was accessed in my unit test.
Is there a way to see if the property was accessed via Rhino Mocks?
I found this code here but it does not seem to work:
string name = customerMock.Name;
customerMock.AssertWasCalled(x => {var ignored = x.Name;});
I reproduced this code and I get the following:
Rhino.Mocks.Exceptions.ExpectationViolationException: IAddAddressForm.get_FirstName(); Expected #1, Actual #0..
I would like to use this syntax, but I must be missing something. I am calling it with a stub (not a mock) does that make a difference?
Best Answer
Yes. You can set up an expectation for the property. If the verification doesn't throw, then you know the property was accessed:
This is all assuming that you want
foo.Name
to be accessed. If your goal is to verify that it is not accessed, then you should just use StrictMock instead of DynamicMock. A strict mock will throw for any unexpected calls.