I’m trying to test a method. I want to ensrur that there is a method call in that method (calling service) the code look like this:
using(proxy = new Proxy()) { proxy.CallService(); }
I swap the proxy with fake object (using TypeMock) but get error because of the fake object disposed in the end of block. I don’t want to remove that ‘using’ block. Thanks
Disclaimer: I work at Typemock
If you are using the Arrange Act Assert API you can use Members.ReturnRecursiveFakes when you are creating your fake object (Note: this is the default from version 5.2.0) This will automatically fake the Dispose method as well.
so your test will be something like this:
I want to add to what Jon Skeet said that I would create a separate test that will ensure that the Dispose method is called.
I think it is a good practice to assert one thing in each test method, that way when a test breaks up you’ll know the reason immediately.