I'm looking for as comprehensive as possible of a mock replacement and wrapper for the ASP.NET HttpContext
in my applications. A comprehensive mock replacement could potentially increase the testability of my ASP.NET web applications substantially, without necessitating migrating every application to more-testable frameworks such as MVC.
Some of the features I am most interested in seeing in an HttpContext
wrapper and mock framework include:
.Session
)..Application
)..Items
).Server.MapPath
).User
) for validating authentication/authorization rules.AllErrors
collection for testing error resolution in HttpModule
s and Global.asax
.I considered writing my own interface, wrapper, and mock; however, I believe such must already exist. The variety of mock frameworks is a little overwhelming for a first-timer to absorb.
What is the most comprehensive HttpContext
wrapper and mock that you would recommend?
What is a mocking framework? Mocking frameworks are used to generate replacement objects like Stubs and Mocks. Mocking frameworks complement unit testing frameworks by isolating dependencies but are not substitutes for unit testing frameworks.
We can use Mockito class mock() method to create a mock object of a given class or interface. This is the simplest way to mock an object. We are using JUnit 5 to write test cases in conjunction with Mockito to mock objects.
Mocking is a process that allows you to create a mock object that can be used to simulate the behavior of a real object. You can use the mock object to verify that the real object was called with the expected parameters, and to verify that the real object was not called with unexpected parameters.
My company have done well with just creating interfaces for all the http objcets (IHttpRequest, IHttpResponse, etc).
It's a bit repetative but basically need all methods and properties on the interface then create a concrete type for each which takes the real type as a constructor parameter and passes all methods and properties through to the real object.
Then you can test everything with ease using RhinoMocks or whatever..
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With